azd sjablonen zijn blauwdrukopslagplaatsen die proof-of-concept-toepassingscode, editor-/IDE-configuraties en infrastructuurcode bevatten die zijn geschreven in Bicep of Terraform. Deze sjablonen zijn bedoeld om te worden gewijzigd en aangepast voor uw specifieke toepassingsvereisten en worden vervolgens gebruikt om uw toepassing in Azure op te halen met behulp van de Azure Developer CLI (azd). Het schema azure.yaml definieert en beschrijft de apps en typen Azure-resources die zijn opgenomen in deze sjablonen.
Voorbeeld
Hieronder ziet u een algemeen voorbeeld van een azure.yaml vereiste sjabloon 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
(tekenreeks) Naam van de Azure-resourcegroep. Wanneer dit is opgegeven, wordt de naam van de resourcegroep overschreven die wordt gebruikt voor het inrichten van de infrastructuur.
Een reeks ondersteunde versies van azd dit project. Als de versie azd buiten dit bereik valt, kan het project niet worden geladen. Optioneel (staat alle versies toe indien afwezig). Voorbeeld: >= 0.6.0-beta.3
metadata-eigenschappen
Naam van element
Vereist
Beschrijving
Voorbeeld
template
N
(tekenreeks) Id van de sjabloon waaruit de toepassing is gemaakt.
todo-nodejs-mongo@0.0.1-beta
infra-eigenschappen
Naam van element
Vereist
Beschrijving
Voorbeeld
provider
N
(tekenreeks) De infrastructuurprovider voor de Azure-resources van de toepassing. (Standaard: bicep).
(tekenreeks) Naam van de Azure-resource waarmee de service wordt geïmplementeerd. Als dit niet is opgegeven, azd zoekt u naar een resource door azd-env-name en azd-service-name tags. Als deze niet wordt gevonden, wordt gezocht naar een resourcenaam die is samengesteld op basis van de huidige omgevingsnaam, samengevoegd met de servicenaam (<environment-name><resource-name>).
prodapi
project
J
(tekenreeks) Pad naar de broncodemap van de service.
host
J
(tekenreeks) Type Azure-resource dat wordt gebruikt voor service-implementatie. Als u dit weglaat, wordt ervan uitgegaan dat App Service wordt gebruikt.
appservice, , functioncontainerapp, staticwebappaks (alleen voor projecten die kunnen worden geïmplementeerd via kubectl apply -f), springapp (indien ingeschakeld - meer informatie over alfafuncties)
language
J
(tekenreeks) Taal voor service-implementatie.
dotnet, , csharpfsharp, py, , python, , jstsjava
module
J
(tekenreeks) Pad van de infrastructuurmodule die wordt gebruikt om de service te implementeren ten opzichte van de hoofdinfrastructuurmap. Als u dit weglaat, wordt ervan uitgegaan dat de modulenaam gelijk is aan de servicenaam.
dist
J
(tekenreeks) Relatief pad naar de artefacten van de service-implementatie. De CLI gebruikt bestanden onder dit pad om het implementatieartefact (.zip-bestand) te maken. Als u dit weglaat, worden alle bestanden in de projectmap van de service opgenomen.
build
docker
N
Alleen van toepassing wanneer host .containerapp Kan geen extra eigenschappen bevatten.
Zie het aangepaste Docker-voorbeeld hieronder. path(tekenreeks): Pad naar het Dockerfile. Standaard: ./Dockerfile; context(tekenreeks): de docker-buildcontext. Wanneer u dit hebt opgegeven, wordt de standaardcontext overschreven. Standaard: .; platform(tekenreeks): het platformdoel. Standaardwaarde: amd64
k8s
N
De AKS-configuratieopties (Azure Kubernetes Service).
Zie het AKS-voorbeeld hieronder. deploymentPath(tekenreeks): optioneel. Het relatieve pad van het servicepad naar de k8s-implementatiemanifesten. Wanneer deze is ingesteld, wordt de standaardlocatie van het implementatiepad voor k8s-implementatiemanifesten overschreven. Standaard: manifests; namespace(tekenreeks): optioneel. De k8s-naamruimte van de geïmplementeerde resources. Wanneer deze is opgegeven, wordt er een nieuwe k8s-naamruimte gemaakt als deze nog niet bestaat. Standaard: Project name; deployment(object): zie implementatie-eigenschappen; service(object): service-eigenschappen bekijken; ingress(object): zie eigenschappen voor inkomend verkeer.
hooks
N
Service level hooks. Hooks moeten overeenkomen met service gebeurtenisnamen die zijn voorafgegaan door pre of post afhankelijk van wanneer het script moet worden uitgevoerd. Wanneer u paden opgeeft, moeten ze relatief zijn ten opzichte van het servicepad.
(tekenreeks) Optionele. De naam van de k8s-implementatieresource die tijdens de implementatie moet worden gebruikt. Wordt gebruikt tijdens de implementatie om te controleren of de implementatie van k8s is voltooid. Als deze niet is ingesteld, zoekt u naar een implementatieresource in dezelfde naamruimte die de servicenaam bevat. Standaardwaarde: Service name
api
AKS-eigenschappen service
Naam van element
Vereist
Beschrijving
Voorbeeld
name
N
(tekenreeks) Optionele. De naam van de k8s-serviceresource die moet worden gebruikt als het standaardservice-eindpunt. Wordt gebruikt bij het bepalen van eindpunten voor de standaardserviceresource. Als deze niet is ingesteld, zoekt u naar een implementatieresource in dezelfde naamruimte die de servicenaam bevat. (Standaard: servicenaam)
api
AKS-eigenschappen ingress
Naam van element
Vereist
Beschrijving
Voorbeeld
name
N
(tekenreeks) Optionele. De naam van de k8s-toegangsbeheerresource die moet worden gebruikt als het standaardservice-eindpunt. Wordt gebruikt bij het bepalen van eindpunten voor de standaardresource voor inkomend verkeer. Als deze niet is ingesteld, zoekt u naar een implementatieresource in dezelfde naamruimte die de servicenaam bevat. Standaardwaarde: Service name
api
relativePath
N
(tekenreeks) Optionele. Het relatieve pad naar de service vanuit de hoofdmap van uw ingangscontroller. Wanneer deze is ingesteld, wordt deze toegevoegd aan de hoofdmap van het resourcepad voor inkomend verkeer.
AKS-voorbeeld met serviceniveauhook
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}
pipeline-eigenschappen
Naam van element
Vereist
Beschrijving
Voorbeeld
provider
N
(tekenreeks) De pijplijnprovider die moet worden gebruikt voor continue integratie. (Standaard: github).
github, azdo
Azure Pipelines (AzDo) als een CI/CD-pijplijnvoorbeeld
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie: https://aka.ms/ContentUserFeedback.