Megosztás a következőn keresztül:


Az Azure Developer CLI azure.yaml sémája

azd A sablonok olyan tervadattárak, amelyek tartalmazzák a megvalósíthatósági igazolás alkalmazáskódját, a szerkesztői/IDE-konfigurációkat és a Bicep-ben vagy a Terraformban írt infrastruktúra-kódot. Ezek a sablonok az adott alkalmazáskövetelményeknek megfelelően módosíthatók és módosíthatók, majd az Azure Developer CLI (azd) használatával az alkalmazás Azure-ba való lekérésére szolgálnak. Az azure.yaml séma határozza meg és írja le az ezekben a sablonokban szereplő Azure-erőforrásokat és -típusokat.

Minta

Az alábbiakban egy általános példa látható a azure.yaml sablonhoz szükséges általános példára 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

Hasonlítsa össze a azure.yaml ToDo NodeJs Mongo-sablonnal:

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

Tulajdonságleírások

Elem neve Kötelező Leírás
name Y (sztring) Az alkalmazás neve.
resourceGroup N (sztring) Az Azure-erőforráscsoport neve. Ha meg van adva, felülbírálja az infrastruktúra kiépítéséhez használt erőforráscsoport-nevet.
metadata N (objektum) További részletekért tekintse meg a metaadatok tulajdonságait .
infra N (objektum) További konfigurációt biztosít az Azure-infrastruktúra kiépítéséhez. További részletekért tekintse meg az infratulajdonságokat .
services Y (objektum) Az alkalmazást alkotó szolgáltatások meghatározása. További részletekért tekintse meg a szolgáltatások tulajdonságait .
pipeline N (objektum) A folyamatos integrációs folyamat definíciója. További részletekért tekintse meg a folyamat tulajdonságait .
hooks N Parancsszintű horgok. A horgoknak meg kell egyeznie azd az előtagú parancsnevekkel pre , vagy post attól függően, hogy mikor kell végrehajtani a szkriptet. Az elérési utak megadásakor a projekt elérési úthoz kell viszonyítani. További részletekért tekintse meg az Azure Developer CLI-munkafolyamatok testreszabását parancsok és eseményhookok használatával.
requiredVersions N A projekt támogatott verzióinak azd köre. Ha a verzió ezen azd a tartományon kívül esik, a projekt betöltése sikertelen lesz. Nem kötelező (az összes verziót engedélyezi, ha hiányzik). Example: >= 0.6.0-beta.3

metadata Tulajdonságok

Elem neve Kötelező Leírás Példa
template N (sztring) Annak a sablonnak az azonosítója, amelyből az alkalmazást létrehozták. todo-nodejs-mongo@0.0.1-beta

infra Tulajdonságok

Elem neve Kötelező Leírás Példa
provider N (sztring) Az alkalmazás Azure-erőforrásainak infrastruktúra-szolgáltatója. (Alapértelmezett: bicep). Tekintse meg az alábbi Terraform-mintát . bicep, terraform
path N (sztring) A megadott szolgáltatóHoz tartozó Azure-kiépítési sablonokat tartalmazó hely relatív mappa elérési útja. (Alapértelmezett: infra).
module N (sztring) Az azure-beli kiépítési sablonokat tartalmazó alapértelmezett modul neve. (Alapértelmezett: fő).

Terraform mint IaC-szolgáltatói minta

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

services Tulajdonságok

Elem neve Kötelező Leírás Példa
resourceName N (sztring) A szolgáltatást megvalósító Azure-erőforrás neve. Ha nincs megadva, azd az erőforrásokat és azd-service-name címkéket azd-env-name fogja keresni. Ha nem található, a rendszer az aktuális környezetnévből létrehozott erőforrásnevet keresi, amelyet a szolgáltatásnévvel (<environment-name><resource-name>) összefűz. prodapi
project Y (sztring) A szolgáltatás forráskódkönyvtárának elérési útja.
host Y (sztring) A szolgáltatás implementálásához használt Azure-erőforrás típusa. Ha nincs megadva, az App Service-t feltételezzük. appservice, containerapp, function, staticwebapp( csak olyan projektek esetén, aks amelyeken keresztül kubectl apply -ftelepíthető ), springapp (ha engedélyezve van – további információ az alfafunkciókról)
language Y (sztring) A szolgáltatás implementálási nyelve. dotnet, csharp, fsharp, pypython, js, tsjava
module Y (sztring) A szolgáltatás központi telepítéséhez használt infrastruktúramodul elérési útja a gyökér inframappához viszonyítva. Ha nincs megadva, a parancssori felület feltételezi, hogy a modul neve megegyezik a szolgáltatás nevével.
dist Y (sztring) A szolgáltatás üzembehelyezési összetevőinek relatív elérési útja. A parancssori felület az elérési út alatt található fájlokat fogja használni az üzembehelyezési összetevő (.zip fájl) létrehozásához. Ha nincs megadva, a szolgáltatásprojekt könyvtárában lévő összes fájl szerepelni fog. build
docker N Csak akkor alkalmazható, ha host van containerapp. Nem tartalmazhat további tulajdonságokat. Lásd alább az egyéni Docker-mintát . path(karakterlánc): A Dockerfile elérési útja. Alapértelmezett: ./Dockerfile; context(sztring): A Docker buildkörnyezete. Ha meg van adva, felülbírálja az alapértelmezett környezetet. Alapértelmezett: .; platform(sztring): A platform célja. Alapértelmezett: amd64
k8s N Az Azure Kubernetes Service (AKS) konfigurációs beállításai. Tekintse meg az alábbi AKS-mintát . deploymentPath(sztring): Nem kötelező. A szolgáltatás elérési útjának relatív elérési útja a k8s üzembehelyezési jegyzékekhez. Ha be van állítva, felülbírálja a k8s üzembehelyezési jegyzékek alapértelmezett telepítési útvonalának helyét. Alapértelmezett: manifests; namespace(sztring): Nem kötelező. Az üzembe helyezett erőforrások k8s névtere. Ha meg van adva, létrejön egy új k8s névtér, ha még nem létezik. Alapértelmezett: Project name; deployment(objektum): Lásd az üzembehelyezési tulajdonságokat; service(objektum): Lásd a szolgáltatás tulajdonságait; ingress(objektum): Lásd a bejövő forgalom tulajdonságait.
hooks N Szolgáltatási szintű horgok. A horgoknak meg kell egyeznie service az előtagú eseménynevekkel pre , vagy post attól függően, hogy mikor kell végrehajtani a szkriptet. Az elérési utak megadásakor a szolgáltatás elérési úthoz kell viszonyítani. További részletekért tekintse meg az Azure Developer CLI-munkafolyamatok testreszabását parancsok és eseményhookok használatával.

Docker-beállítások minta

Az alábbi példában deklaráljuk a Docker-beállításokat egy tárolóalkalmazáshoz.

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

AKS-tulajdonságok deployment

Elem neve Kötelező Leírás Példa
name N (sztring) Választható. Az üzembe helyezés során használni kívánt k8s üzembehelyezési erőforrás neve. Az üzembe helyezés során annak ellenőrzésére szolgál, hogy a k8s üzembe helyezése befejeződött-e. Ha nincs beállítva, a szolgáltatásnevet tartalmazó névtérben keres üzembehelyezési erőforrást. Alapértelmezett: Service name api

AKS-tulajdonságok service

Elem neve Kötelező Leírás Példa
name N (sztring) Választható. Az alapértelmezett szolgáltatásvégpontként használni kívánt k8s szolgáltatáserőforrás neve. Az alapértelmezett szolgáltatáserőforrás végpontjainak meghatározásakor használatos. Ha nincs beállítva, a szolgáltatásnevet tartalmazó névtérben keres üzembehelyezési erőforrást. (Alapértelmezett: Szolgáltatás neve) api

AKS-tulajdonságok ingress

Elem neve Kötelező Leírás Példa
name N (sztring) Választható. Az alapértelmezett szolgáltatásvégpontként használni kívánt k8s bejövő erőforrás neve. Az alapértelmezett bejövő erőforrás végpontjainak meghatározásakor használatos. Ha nincs beállítva, a szolgáltatásnevet tartalmazó névtérben keres üzembehelyezési erőforrást. Alapértelmezett: Service name api
relativePath N (sztring) Választható. A szolgáltatás relatív elérési útja a bejövőforgalom-vezérlő gyökerétől. Ha be van állítva, a rendszer hozzá lesz fűzve a bejövő erőforrás elérési útjának gyökeréhez.

AKS-minta szolgáltatási szintű horgokkal

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 Tulajdonságok

Elem neve Kötelező Leírás Példa
provider N (sztring) A folyamatos integrációhoz használandó folyamatszolgáltató. (Alapértelmezett: github). github, azdo

Azure Pipelines (AzDo) CI/CD-folyamatmintaként

name: yourApp
services:  
  web:    
    project: src/web
    dist: build
    language: js
    host: appservice
pipeline: 
  provider: azdo

Segítség kérése

Ha tudni szeretné, hogyan nyújthat be hibát, kérhet segítséget, vagy javasolhat új funkciót az Azure Developer CLI-hez, látogasson el a hibaelhárítási és támogatási oldalra.

További lépések