azd Szablony to repozytoria strategii, które obejmują kod aplikacji weryfikacji koncepcji, konfiguracje edytora/środowiska IDE oraz kod infrastruktury napisany w narzędziu Bicep lub Terraform. Te szablony mają zostać zmodyfikowane i dostosowane do określonych wymagań aplikacji, a następnie użyte do pobrania aplikacji na platformie Azure przy użyciu interfejsu wiersza polecenia dla deweloperów platformy Azure (azd). Schemat azure.yaml definiuje i opisuje aplikacje i typy zasobów platformy Azure, które są zawarte w tych szablonach.
Przykład
Poniżej znajduje się ogólny przykład wymaganego azure.yaml szablonu azd .
name: yourApp
metadata:
template: yourApp@0.0.1-beta
services:
web:
project: ./src/web # path to your web project
dist: build # relative path to service deployment artifacts
language: js # one of the supported languages
host: appservice # one of the supported Azure services
Zakres obsługiwanych azd wersji tego projektu. Jeśli wersja elementu azd znajduje się poza tym zakresem, ładowanie projektu zakończy się niepowodzeniem. Opcjonalnie (zezwala na wszystkie wersje, jeśli są nieobecne). Przykład: >= 0.6.0-beta.3
Właściwości metadata
Nazwa elementu
Wymagania
opis
Przykład
template
N
(ciąg) Identyfikator szablonu, z którego utworzono aplikację.
(ciąg) Nazwa zasobu platformy Azure, który implementuje usługę. Jeśli nie zostanie określony, azd wyszuka zasób według azd-env-name i azd-service-name tagi. Jeśli nie zostanie znaleziona, będzie ona szukać nazwy zasobu skonstruowanej z bieżącej nazwy środowiska, łączonej z nazwą usługi (<environment-name><resource-name>).
prodapi
project
Y
(ciąg) Ścieżka do katalogu kodu źródłowego usługi.
host
Y
(ciąg) Typ zasobu platformy Azure używanego do implementacji usługi. Jeśli pominięto, zostanie założona usługa App Service.
appservice, , containerapp, function, aksstaticwebapp(tylko w przypadku projektów, które można wdrożyć za pośrednictwem kubectl apply -f), springapp (po włączeniu — dowiedz się więcej o funkcjach alfa)
(ciąg) Ścieżka modułu infrastruktury używanego do wdrażania usługi względem głównego folderu infra. W przypadku pominięcia interfejs wiersza polecenia przyjmie, że nazwa modułu jest taka sama jak nazwa usługi.
dist
Y
(ciąg) Względna ścieżka do artefaktów wdrożenia usługi. Interfejs wiersza polecenia użyje plików w tej ścieżce, aby utworzyć artefakt wdrożenia (plik zip). W przypadku pominięcia wszystkie pliki w katalogu projektu usługi zostaną dołączone.
build
docker
N
Dotyczy tylko wtedy, gdy host ma wartość containerapp. Nie można zawierać dodatkowych właściwości.
Zapoznaj się z niestandardowym przykładem platformy Docker poniżej. path(ciąg): ścieżka do pliku Dockerfile. Wartość domyślna: ./Dockerfile; context(ciąg): kontekst kompilacji platformy Docker. Po określeniu zastępuje kontekst domyślny. Wartość domyślna: .; platform(ciąg): element docelowy platformy. Domyślnie: amd64
k8s
N
Opcje konfiguracji usługi Azure Kubernetes Service (AKS).
Zobacz poniższy przykład usługi AKS. deploymentPath(ciąg): opcjonalne. Ścieżka względna ze ścieżki usługi do manifestów wdrożenia k8s. Po ustawieniu zastąpi domyślną lokalizację ścieżki wdrożenia dla manifestów wdrożenia k8s. Wartość domyślna: manifests; namespace(ciąg): opcjonalne. Przestrzeń nazw k8s wdrożonych zasobów. Po określeniu zostanie utworzona nowa przestrzeń nazw k8s, jeśli jeszcze nie istnieje. Wartość domyślna: Project name; deployment(obiekt): Zobacz właściwości wdrożenia; service(obiekt): Zobacz właściwości usługi; ingress(object): Zobacz właściwości ruchu przychodzącego.
hooks
N
Punkty zaczepienia na poziomie usługi. Haki powinny być zgodne service z nazwami zdarzeń poprzedzonymi prefiksem pre lub post w zależności od tego, kiedy skrypt powinien zostać wykonany. Podczas określania ścieżek powinny być względem ścieżki usługi.
(ciąg) Opcjonalne. Nazwa zasobu wdrożenia k8s do użycia podczas wdrażania. Używane podczas wdrażania, aby upewnić się, że wdrożenie wdrożenia k8s zostało ukończone. Jeśli nie zostanie ustawiona, wyszukaj zasób wdrożenia w tej samej przestrzeni nazw, która zawiera nazwę usługi. Domyślnie: Service name
api
Właściwości usługi AKS service
Nazwa elementu
Wymagania
opis
Przykład
name
N
(ciąg) Opcjonalne. Nazwa zasobu usługi k8s, który ma być używany jako domyślny punkt końcowy usługi. Używany podczas określania punktów końcowych dla domyślnego zasobu usługi. Jeśli nie zostanie ustawiona, wyszukaj zasób wdrożenia w tej samej przestrzeni nazw, która zawiera nazwę usługi. (Wartość domyślna: nazwa usługi)
api
Właściwości usługi AKS ingress
Nazwa elementu
Wymagania
opis
Przykład
name
N
(ciąg) Opcjonalne. Nazwa zasobu ruchu przychodzącego k8s do użycia jako domyślny punkt końcowy usługi. Używany podczas określania punktów końcowych dla domyślnego zasobu ruchu przychodzącego. Jeśli nie zostanie ustawiona, wyszukaj zasób wdrożenia w tej samej przestrzeni nazw, która zawiera nazwę usługi. Domyślnie: Service name
api
relativePath
N
(ciąg) Opcjonalne. Ścieżka względna do usługi z katalogu głównego kontrolera ruchu przychodzącego. Po ustawieniu zostanie dołączony do katalogu głównego ścieżki zasobu ruchu przychodzącego.
Przykład usługi AKS z punktami zaczepienia na poziomie usługi
metadata:
template: todo-nodejs-mongo-aks@0.0.1-beta
services:
web:
project: ./src/web
dist: build
language: js
host: aks
hooks:
postdeploy:
shell: sh
run: azd env set REACT_APP_WEB_BASE_URL ${SERVICE_WEB_ENDPOINT_URL}
api:
project: ./src/api
language: js
host: aks
k8s:
ingress:
relativePath: api
hooks:
postdeploy:
shell: sh
run: azd env set REACT_APP_API_BASE_URL ${SERVICE_API_ENDPOINT_URL}
Właściwości pipeline
Nazwa elementu
Wymagania
opis
Przykład
provider
N
(ciąg) Dostawca potoku, który ma być używany do ciągłej integracji. (Ustawienie domyślne: github).
github, azdo
Przykładowy potok ciągłej integracji/ciągłego wdrażania w usłudze Azure Pipelines (AzDo)
Aby uzyskać informacje na temat tworzenia usterki, żądania pomocy lub zaproponowania nowej funkcji dla interfejsu wiersza polecenia dla deweloperów platformy Azure, odwiedź stronę rozwiązywania problemów i pomocy technicznej .