Schema azure.yaml dell'interfaccia della riga di comando per sviluppatori di Azure
azd
I modelli sono repository di progetti che includono codice dell'applicazione proof-of-concept, configurazioni dell'editor/IDE e codice dell'infrastruttura scritto in Bicep o Terraform. Questi modelli devono essere modificati e adattati per i requisiti specifici dell'applicazione e quindi usati per ottenere l'applicazione in Azure usando l'interfaccia della riga di comando per sviluppatori di Azure (azd
). Lo schema azure.yaml definisce e descrive le app e i tipi di risorse di Azure inclusi in questi modelli.
Esempio
Di seguito è riportato un esempio generico di obbligatorio azure.yaml
per il azd
modello.
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
Confrontare con il azure.yaml
modello ToDo NodeJs Mongo:
name: todo-nodejs-mongo
metadata:
template: todo-nodejs-mongo@0.0.1-beta
services:
web:
project: ./src/web
dist: build
language: js
host: appservice
api:
project: ./src/api
language: js
host: appservice
Descrizioni delle proprietà
Nome elemento | Obbligatorio | Descrizione |
---|---|---|
name |
Y | (string) Nome dell'applicazione. |
resourceGroup |
N | (string) Nome del gruppo di risorse di Azure. Se specificato, eseguirà l'override del nome del gruppo di risorse usato per il provisioning dell'infrastruttura. |
metadata |
N | (oggetto) Per altri dettagli, vedere proprietà dei metadati. |
infra |
N | (oggetto) Fornisce una configurazione aggiuntiva per il provisioning dell'infrastruttura di Azure. Per altri dettagli, vedere Le proprietà infra. |
services |
Y | (oggetto) Definizione di servizi che costituiscono l'applicazione. Per altri dettagli, vedere proprietà dei servizi. |
pipeline |
N | (oggetto) Definizione della pipeline di integrazione continua. Per altri dettagli, vedere proprietà della pipeline. |
hooks |
N | Hook a livello di comando. Gli hook devono corrispondere azd ai nomi dei comandi preceduti pre da o post a seconda del momento in cui deve essere eseguito lo script. Quando si specificano percorsi, devono essere relativi al percorso del progetto. Per altri dettagli, vedere Personalizzare i flussi di lavoro dell'interfaccia della riga di comando per sviluppatori di Azure usando hook di comandi ed eventi. |
requiredVersions |
N | Gamma di versioni supportate di azd per questo progetto. Se la versione di azd non è compresa in questo intervallo, il progetto non verrà caricato. Facoltativo (consente tutte le versioni se assenti). Esempio: >= 0.6.0-beta.3 |
Proprietà metadata
Nome elemento | Obbligatorio | Descrizione | Esempio |
---|---|---|---|
template |
N | (string) Identificatore del modello da cui è stata creata l'applicazione. | todo-nodejs-mongo@0.0.1-beta |
Proprietà infra
Esempio di provider Terraform as IaC
name: yourApp-terraform
metadata:
template: yourApp-terraform@0.0.1-beta
services:
web:
project: ./src/web
dist: build
language: js
host: appservice
api:
project: ./src/api
language: js
host: appservice
infra:
provider: terraform
Proprietà services
Nome elemento | Obbligatorio | Descrizione | Esempio |
---|---|---|---|
resourceName |
N | (string) Nome della risorsa di Azure che implementa il servizio. Se non specificato, azd cercherà una risorsa in base ai azd-env-name tag e azd-service-name . Se non viene trovato, cercherà un nome di risorsa costruito dal nome dell'ambiente corrente, concatenato con il nome del servizio (<environment-name><resource-name> ). |
prodapi |
project |
Y | (string) Percorso della directory del codice sorgente del servizio. | |
host |
Y | (string) Tipo di risorsa di Azure usata per l'implementazione del servizio. Se omesso, si presuppone servizio app. | appservice , containerapp , function aks staticwebapp (solo per i progetti distribuibili tramite kubectl apply -f ), springapp (se abilitata- altre informazioni sulle funzionalità alfa) |
language |
Y | (string) Linguaggio di implementazione del servizio. | dotnet , csharp , fsharp , py python , js , , ts java |
module |
Y | (string) Percorso del modulo di infrastruttura usato per distribuire il servizio relativo alla cartella infrastruttura radice. Se omesso, l'interfaccia della riga di comando presuppone che il nome del modulo corrisponda al nome del servizio. | |
dist |
Y | (string) Percorso relativo agli artefatti di distribuzione del servizio. L'interfaccia della riga di comando userà i file in questo percorso per creare l'artefatto di distribuzione (file con estensione zip). Se omesso, verranno inclusi tutti i file nella directory del progetto di servizio. | build |
docker |
N | Applicabile solo quando host è containerapp . Non può contenere proprietà aggiuntive. |
Vedere l'esempio Docker personalizzato di seguito. path (string): percorso del Dockerfile. Impostazione predefinita: ./Dockerfile ; context (string): contesto di compilazione docker. Se specificato, esegue l'override del contesto predefinito. Impostazione predefinita: . ; platform (string): destinazione della piattaforma. Impostazione predefinita: amd64 |
k8s |
N | Opzioni di configurazione servizio Azure Kubernetes (servizio Azure Kubernetes). | Vedere l'esempio del servizio Azure Kubernetes di seguito. deploymentPath (string): facoltativo. Percorso relativo dal percorso del servizio ai manifesti della distribuzione k8s. Se impostato, eseguirà l'override del percorso di distribuzione predefinito per i manifesti della distribuzione k8s. Impostazione predefinita: manifests ; namespace (string): facoltativo. Spazio dei nomi k8s delle risorse distribuite. Se specificato, verrà creato un nuovo spazio dei nomi k8s se non esiste già. Impostazione predefinita: Project name ; deployment (oggetto): vedere le proprietà di distribuzione; service (oggetto): vedere le proprietà del servizio; ingress (oggetto): vedere le proprietà in ingresso. |
hooks |
N | Hook a livello di servizio. Gli hook devono corrispondere service ai nomi degli eventi preceduti pre da o post a seconda del momento in cui deve essere eseguito lo script. Quando si specificano percorsi, devono essere relativi al percorso del servizio. |
Per altri dettagli, vedere Personalizzare i flussi di lavoro dell'interfaccia della riga di comando per sviluppatori di Azure usando hook di comandi ed eventi. |
Esempio di opzioni di Docker
Nell'esempio seguente vengono dichiarate le opzioni Docker per un'app contenitore.
name: yourApp-aca
metadata:
template: yourApp-aca@0.0.1-beta
services:
api:
project: ./src/api
language: js
host: containerapp
docker:
path: ./Dockerfile
context: ../
web:
project: ./src/web
language: js
host: containerapp
Proprietà del servizio Azure Kubernetes deployment
Nome elemento | Obbligatorio | Descrizione | Esempio |
---|---|---|---|
name |
N | (string) Opzionale. Nome della risorsa di distribuzione k8s da usare durante la distribuzione. Usato durante la distribuzione per assicurarsi che l'implementazione della distribuzione k8s sia stata completata. Se non impostato, cercherà una risorsa di distribuzione nello stesso spazio dei nomi contenente il nome del servizio. Impostazione predefinita: Service name |
api |
Proprietà del servizio Azure Kubernetes service
Nome elemento | Obbligatorio | Descrizione | Esempio |
---|---|---|---|
name |
N | (string) Opzionale. Nome della risorsa del servizio k8s da usare come endpoint di servizio predefinito. Usato per determinare gli endpoint per la risorsa del servizio predefinita. Se non impostato, cercherà una risorsa di distribuzione nello stesso spazio dei nomi contenente il nome del servizio. (Impostazione predefinita: Nome servizio) | api |
Proprietà del servizio Azure Kubernetes ingress
Nome elemento | Obbligatorio | Descrizione | Esempio |
---|---|---|---|
name |
N | (string) Opzionale. Nome della risorsa di ingresso k8s da usare come endpoint di servizio predefinito. Usato per determinare gli endpoint per la risorsa di ingresso predefinita. Se non impostato, cercherà una risorsa di distribuzione nello stesso spazio dei nomi contenente il nome del servizio. Impostazione predefinita: Service name |
api |
relativePath |
N | (string) Opzionale. Percorso relativo del servizio dalla radice del controller di ingresso. Se impostato, verrà aggiunto alla radice del percorso della risorsa in ingresso. |
Esempio del servizio Azure Kubernetes con hook a livello di servizio
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}
Proprietà pipeline
Nome elemento | Obbligatorio | Descrizione | Esempio |
---|---|---|---|
provider |
N | (string) Provider di pipeline da usare per l'integrazione continua. (Impostazione predefinita: github ). |
github , azdo |
Azure Pipelines (AzDo) come esempio di pipeline CI/CD
name: yourApp
services:
web:
project: src/web
dist: build
language: js
host: appservice
pipeline:
provider: azdo
Richiedere assistenza
Per informazioni su come inviare un bug, richiedere assistenza o proporre una nuova funzionalità per l'interfaccia della riga di comando per sviluppatori di Azure, visitare la pagina relativa alla risoluzione dei problemi e al supporto tecnico.
Passaggi successivi
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per