Udostępnij za pośrednictwem


Eksplorowanie azd up przepływu pracy

Interfejs Azure Developer CLI (azd) umożliwia aprowizację i wdrażanie zasobów aplikacji na platformie Azure przy użyciu tylko jednego polecenia poprzez azd up. Ten przewodnik zawiera szczegółowy podział azd up i sposób, w jaki różne etapy tego polecenia przepływu pracy są skorelowane ze strukturą azd szablonu.

Postępuj zgodnie z instrukcjami przy użyciu szablonu

W kolejnych sekcjach przedstawiono przykłady z szablonu hello-azd w celu zademonstrowania różnych azd pojęć i wzorców. Możesz śledzić kroki, inicjując szablon na swoim komputerze lokalnym.

azd init -t hello-azd

Aby uzyskać więcej informacji na temat rozpoczynania pracy z azd i szablonem hello-azd, odwiedź artykuł Quickstart: wdrażanie szablonu interfejsu wiersza polecenia dla deweloperów platformy Azure.

Podstawowe pojęcia

Podczas pracy z szablonem azd możesz aprowizować i wdrażać zasoby aplikacji na platformie Azure przy użyciu azd up polecenia . Uruchom polecenie w oknie terminalu otwartym w folderze szablonu:

azd up

azd up program został zaprojektowany tak, aby można było wielokrotnie uruchamiać polecenie podczas opracowywania aplikacji, a nowe zmiany są wdrażane przyrostowo. Polecenie inicjuje zaawansowany przepływ pracy, który zasadniczo opakowuje trzy konkretne etapy:

  1. Pakowanie: przygotowuje kod aplikacji i zależności do wdrożenia.
  2. Aprowizacja: Tworzy i konfiguruje niezbędne zasoby Azure wymagane przez aplikację, używając plików infrastruktury jako kodu.
  3. Wdrożenie: wdraża spakowaną aplikację w aprowizowanych zasobach platformy Azure.

Można również uruchamiać poszczególne etapy indywidualnie przy użyciu odpowiedniego polecenia, ale azd up zapewnia wygodny interfejs, który usprawnia cały proces. Każdy etap odgrywa kluczową rolę w zapewnieniu bezproblemowego i zautomatyzowanego procesu wdrażania. Na etapy przepływu pracy można wpływać azd up przy użyciu konfiguracji w pliku szablonu azure.yaml. W poniższych sekcjach bardziej szczegółowo omówiono poszczególne etapy.

Etap pakowania

Etap pakowania jest pierwszym krokiem w przepływie azd up pracy. Na tym etapie:

  • Kod aplikacji jest przygotowany do wdrożenia. W zależności od języka programowania, którego użyto do stworzenia aplikacji szablonu, pakowanie może obejmować budowanie lub kompilowanie aplikacji, łączenie zależności, lub tworzenie artefaktów wdrożeniowych, takich jak obrazy Docker.
  • Struktura azd szablonu zwykle zawiera src folder, w którym znajduje się kod aplikacji. Skrypty kompilacji lub pliki konfiguracji (takie jak plik Dockerfile) mogą mieć wpływ na sposób tworzenia pakietu aplikacji.
  • Plik azure.yaml zawiera mapowania konfiguracji, które informują azd o tym, gdzie znajduje się kod aplikacji i którego języka używa, aby azd mógł odpowiednio spakować go.
  • Ten etap gwarantuje, że aplikacja jest w stanie gotowym do wdrożenia przed przejściem do kolejnego kroku.

Proces pakowania można uruchomić samodzielnie poza azd up, używając polecenia azd package.

azd package

Przykładowe konfiguracje opakowań

azd może tworzyć pakiety aplikacji z różnymi językami na różne sposoby. Jeśli na przykład aplikacja korzysta z podejścia konteneryzowanego, azd szablon może zawierać Dockerfile w katalogu aplikacji src. Etap pakowania tworzy obraz platformy Docker dla aplikacji na podstawie tego pliku. Te konfiguracje są zarządzane za pośrednictwem azure.yaml pliku.

Rozważmy na przykład następującą strukturę projektu i konfiguracje szablonu startowego hello-azd :

Zrzut ekranu przedstawiający etap pakowania pliku azd up.

Na obrazie powyżej plik azure.yaml:

  • Definiuje kod w src katalogu jako aplikację języka C#.
  • Określa lokalizację pliku Dockerfile do utworzenia obrazu kontenera aplikacji.

Po uruchomieniu azd up (lub azd package) interfejs wiersza polecenia dewelopera platformy Azure używa tej kombinacji konfiguracji do kompilowania i tworzenia pakietu kodu aplikacji w src katalogu jako obrazu kontenera platformy .NET. Jeśli plik Dockerfile nie został skonfigurowany, azd może również spakować aplikację .NET przy użyciu standardowego procesu publikowania platformy .NET.

Etap udostępniania

Etap aprowizacji tworzy i konfiguruje wymagane zasoby platformy Azure dla aplikacji. Na przykład aplikacja może wymagać wystąpienia usługi Azure App Service do hostowania samej aplikacji oraz konta usługi Azure Storage do przechowywania przekazanych plików. Etap aprowizacji używa plików infrastruktury jako kodu (IaC) zawartych w szablonie w celu zdefiniowania zasobów.

Oto niektóre kluczowe kwestie, które należy zrozumieć na temat fazy wdrażania:

  1. azd obsługuje zarówno Bicep, jak i Terraform dla zadań związanych z infrastrukturą jako kodem.
  2. Domyślnie pliki infrastruktury jako kodu są przechowywane w folderze infra , ale tę lokalizację można dostosować.
  3. azd wyszukuje plik typu main.bicep lub main.tf, aby działać jako główny plik do orkiestracji procesu IaC.

Zrzut ekranu przedstawiający etap aprowizacji w azd up.

Proces aprowizacji można również uruchomić samodzielnie poza azd up za pomocą polecenia azd provision:

azd provision

Przykładowe konfiguracje zaopatrzenia

W folderze infra zazwyczaj plik main.bicep definiuje zasoby platformy Azure, które azd powinny zostać utworzone dla aplikacji. Rozważmy następujący fragment kodu z main.bicep szablonu początkowego hello-azd :

// ...omitted code for other resource configurations

// Create an Azure Cosmos DB account
module cosmos 'app/cosmos.bicep' = {
  name: 'cosmos'
  scope: rg
  params: {
    userPrincipalId: principalId
    managedIdentityId: identity.outputs.principalId
  }
}

// Create a storage account
module storage './core/storage/storage-account.bicep' = {
  name: 'storage'
  scope: rg
  params: {
    name: !empty(storageAccountName) ? storageAccountName : '${abbrs.storageStorageAccounts}${resourceToken}'
    location: location
    tags: tags
    containers: [
      { name: 'attachments' }
    ]
  }
}

// Container apps environment and registry
module containerAppsEnv './core/host/container-apps.bicep' = {
  name: 'container-apps'
  scope: rg
  params: {
    name: 'app'
    containerAppsEnvironmentName: !empty(containerAppsEnvName) ? containerAppsEnvName : '${abbrs.appManagedEnvironments}${resourceToken}'
    containerRegistryName: !empty(containerRegistryName) ? containerRegistryName : '${abbrs.containerRegistryRegistries}${resourceToken}'
    location: location
  }
}

// ...omitted code for other resource configurations

Przy użyciu poprzedniego kodu azd Bicep tworzy następujące zasoby:

  • Wystąpienie usługi Azure Cosmos DB do przechowywania danych przesyłanych za pośrednictwem aplikacji
  • Konto usługi Azure Storage do przechowywania przesłanych obrazów
  • Aplikacja kontenera platformy Azure do hostowania aplikacji

Etap wdrażania

Etap wdrażania to ostatni krok w przepływie azd up pracy. Na tym etapie:

  • Artefakty aplikacji utworzone podczas etapu pakowania są wdrażane w aprowizowanych zasobach platformy Azure.
  • azd używa plików konfiguracji w szablonie, takich jak azure.yaml, w celu określenia sposobu wdrażania aplikacji.
  • Zmienne środowiskowe i parametry połączenia są skonfigurowane w celu zapewnienia, że aplikacja może wchodzić w interakcje z zaaprowizowanych zasobów.

Proces wdrażania można również uruchomić samodzielnie poza azd up za pomocą polecenia azd deploy.

azd deploy

Przykładowe konfiguracje wdrożenia

azure.yaml Wewnątrz pliku możesz określić, która usługa w projekcie powinna zostać wdrożona w którym zasobie platformy Azure. Rozważmy na przykład następujące konfiguracje szablonu początkowego hello-azd :

metadata:
  template: hello-azd-dotnet
name: azd-starter
services:
  aca:
    project: ./src # The location of the service source code
    language: csharp
    host: containerapp # The provisioned resource to deploy the service to
    docker:
      path: ./Dockerfile

Powyższy kod instruuje azd do wdrożenia artefaktów spakowanych z kodu znajdującego się w katalogu src do containerapp, który został utworzony podczas etapu aprowizacji. Można również zdefiniować wiele usług i zamapować je na innego hosta.

Podsumowanie

Przepływ azd up pracy usprawnia proces wdrażania aplikacji na platformie Azure, automatyzując etapy tworzenia pakietów, aprowizacji i wdrażania. Deweloperzy mogą zapewnić spójny i wydajny proces wdrażania, przestrzegając struktury szablonu azd . Niezależnie od tego, czy wdrażasz prostą aplikację internetową, czy złożoną architekturę mikrousług, azd up polecenie upraszcza podróż z kodu do chmury.