Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Eksplorowanie
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:
- Pakowanie: przygotowuje kod aplikacji i zależności do wdrożenia.
- Aprowizacja: Tworzy i konfiguruje niezbędne zasoby Azure wymagane przez aplikację, używając plików infrastruktury jako kodu.
- 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
azdszablonu zwykle zawierasrcfolder, 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.yamlzawiera mapowania konfiguracji, które informująazdo tym, gdzie znajduje się kod aplikacji i którego języka używa, abyazdmó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 :
Na obrazie powyżej plik azure.yaml:
- Definiuje kod w
srckatalogu 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:
-
azdobsługuje zarówno Bicep, jak i Terraform dla zadań związanych z infrastrukturą jako kodem. - Domyślnie pliki infrastruktury jako kodu są przechowywane w folderze
infra, ale tę lokalizację można dostosować. -
azdwyszukuje plik typumain.biceplubmain.tf, aby działać jako główny plik do orkiestracji procesu IaC.
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.
-
azdużywa plików konfiguracji w szablonie, takich jakazure.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.