Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure Developer CLI (azd) sablon egy olyan kódadattár, amely a azd konvenciókat követi. Kombinálja a projektkonfigurációt, az infrastruktúrát kódként és opcionális alkalmazásforrást, hogy megismételhető Azure környezeteket és üzembe helyezéseket hozzon létre.
A sablonok különböző projekttípusokat támogatnak, például:
- Egy teljes alkalmazás egy vagy több üzembe helyezhető szolgáltatással.
- Csak infrastruktúra-megoldás alkalmazáskód nélkül.
- Egy újrafelhasználható kiindulási pont, amelyet egy másik fejlesztő inicializálhat és kibővíthet.
- Egy meglévő projekt, amelyet a
azdhasználatával készít elő üzembe helyezésre és telepítésre.
Ez a cikk ismerteti egy sablon felépítését, valamint azt, hogy a azd parancsok hogyan használják annak fájljait.
Miért érdemes sablont használni?
A sablon rögzíti a projektek Azure való futtatásához szükséges döntéseket. A projekttől függően a következőket határozhatja meg:
- Azure erőforrásokat és azok konfigurációját.
- Üzembe helyezhető alkalmazásszolgáltatások és csomagolási utasítások.
- Az alkalmazásszolgáltatások és Azure erőforrások közötti kapcsolatok.
- Környezetspecifikus paraméterek és kimenetek.
- Helyi fejlesztés, folyamatos integráció és folyamatos kézbesítési konfiguráció.
Mivel a konfigurációt a projekt tárolja, a csapatok áttekinthetik a forráskövetés változásait, és konzisztens fejlesztési, tesztelési és éles környezeteket hozhatnak létre.
Sablon azd használata
A sablon fájljai a munkafolyamat különböző szakaszait azd támogatják:
-
azd initinicializálja a projektet, és létrehoz egyazdkörnyezetet. A GitHub Copilot használatával is létrehozhat egy kezdeti sablont, vagy másolhat egy meglévő sablont. -
azd provisionkiértékeli az infrastruktúra-definíciókat, és létrehozza vagy frissíti Azure erőforrásokat. -
azd packagea alapján előkészíti azazure.yamlüzembe helyezhető alkalmazásszolgáltatásokat. -
azd deploytársítja az egyes szolgáltatásokat az Azure-gazdagépével, és telepíti az alkalmazáscsomagot. -
azd upA kiépítési, csomagolási és üzembe helyezési fázisokat összevont munkafolyamatként futtatja.
A sablonfájlok a folyamat során normál forrásfájlok maradnak. Áttekintheti, szerkesztheti és verziókezelheti őket a projekt többi részével együtt.
Az Azure Developer CLI-sablonstruktúra megismerése
azd A sablonok standard kódtárak extra konfigurációval és infrastruktúra-eszközökkel. A legtöbb sablon a következő struktúrát használja:
-
azure.yamlfájl – Meghatározza a projektet, és leképezi az üzembe helyezhető forráskönyvtárakat Azure erőforrásokra. -
inframappa – Az Azure-erőforrásokat létrehozó Bicep vagy Terraform-infrastruktúra kódként való fájljait tartalmazza. -
srcmappa – Általában üzembe helyezhető alkalmazás forráskódját tartalmazza. A csak infrastruktúra-sablonok kihagyhatják az alkalmazás forrását, és az alkalmazássablonok más forráskönyvtárneveket is használhatnak. -
.azuremappa – A által létrehozottazdhelyi környezeteket és értékeket tartalmazza. Ez a mappa helyi projektállapot, és általában nem egy újrafelhasználható sablon részeként van megosztva.
Egy gyakori azd sablon például megfelelhet a következő mappastruktúrának:
contoso-project/
├── azure.yaml # azd project and service configuration
├── infra/
│ ├── main.bicep # Infrastructure entry point
│ └── main.parameters.json # Maps azd values to Bicep parameters
├── src/ # Optional application source
│ ├── api/
│ └── web/
├── .github/workflows/ # Optional GitHub Actions pipelines
└── .azure/ # Local environment state; don't distribute
azd A sablonok opcionálisan az alábbi mappák egyikét is tartalmazzák:
-
.githubkönyvtár - A GitHub Actions CI/CD-munkafolyamatainak fájljait tartalmazza. -
.azdomappa – Ha úgy dönt, hogy az Azure Pipelines for CI/CD-t használja, adja meg a munkafolyamat konfigurációs fájljait ebben a mappában. -
.devcontainermappa – Fejlesztési tárolókörnyezetet definiál a projekthez.
Az alábbi ábra bemutatja, hogyan működnek együtt az elsődleges sablonegységek:
flowchart LR
AZ[azure.yaml] -->|Defines services| SRC[Application source]
AZ -->|Selects provider and path| INFRA[Infrastructure as code]
INFRA -->|Provisions| RES[Azure resources]
INFRA -->|Exports values| ENV[azd environment]
ENV -->|Configures| SRC
AZ -->|Maps services to| RES
Kötelező és választható eszközök
A pontos struktúra projektenként eltérő, de a legtöbb sablon az alábbi objektumokat használja.
azure.yaml
A azure.yaml fájl az elsődleges projektkonfigurációs fájl. Meghatározza a projekt nevét, és meghatározhatja az üzembe helyezhető szolgáltatásokat, infrastruktúra-szolgáltatókat, horgokat, munkafolyamatokat és egyéb azd viselkedést.
Egy alkalmazásszolgáltatás esetében gyakran azonosítja a azure.yaml következőt:
- Az alkalmazás forrásának elérési útja.
- A programozási nyelv vagy a csomagolási stratégia.
- Az alkalmazást üzemeltető Azure szolgáltatás.
- Build-, üzembehelyezési, konténer- vagy Kubernetes-beállítások.
A csak infrastruktúra-sablonok kihagyhatják az alkalmazásszolgáltatásokat. A teljes konfigurációs modellért tekintse meg a sémátazure.yaml.
Az alábbi példa két alkalmazásszolgáltatást határoz meg. A szolgáltatásnevek, a forrásútvonalak, a nyelvek és az üzemeltetési célpontok megmondják a azd számára, hogy mit csomagoljon be, és hova telepítse:
name: store
services:
api:
project: ./src/api
language: js
host: containerapp
web:
project: ./src/web
language: js
host: staticwebapp
Infrastruktúra mint kód
A legtöbb sablon Bicep infra vagy Terraform-fájlokat tartalmazó könyvtárat tartalmaz. Ezek a fájlok határozzák meg a projekt által igényelt Azure erőforrásokat, szerepkör-hozzárendeléseket, hálózatkezelést, alkalmazásbeállításokat és üzembe helyezési kimeneteket.
Az alapértelmezett Bicep-szolgáltató esetében a infra/main.bicep jellemzően a azd elemet használja az üzembe helyezés belépési pontjaként, a infra/main.parameters.json elemet pedig a azd környezeti értékeinek Bicep-paraméterekhez való leképezésére. A Terraform-sablonok gyakran használják infra/main.tf és a kapcsolódó Terraform-fájlokat.
Például egy Bicep-paraméterfájl átadhatja a(z) azd által kiválasztott értékeket az infrastruktúra telepítéséhez:
{
"parameters": {
"environmentName": { "value": "${AZURE_ENV_NAME}" },
"location": { "value": "${AZURE_LOCATION}" }
}
}
Ha Bicep kiépítése befejeződött, azd a belépési pont kimeneteit környezeti értékekként tárolja. Az alkalmazásszolgáltatások és a horgok ezeket az értékeket használhatják erőforrásvégpontokhoz, nevekhez és egyéb futtatókörnyezet-konfigurációkhoz.
output API_ENDPOINT string = api.outputs.uri
Alkalmazás forrása
Az alkalmazás forrása nem kötelező. Ha egy sablon üzembe helyezhető szolgáltatásokat tartalmaz, minden szolgáltatásdefiníció a azure.yaml forráskönyvtárára mutat. A sablonok rendszerezhetik a szolgáltatásokat src, használhatnak könyvtárakat az adattár más részein, vagy egy szolgáltatást az adattár gyökerére irányíthatnak.
Maga a mappanév nem jelentős. A project benne lévő azure.yaml érték határozza meg, hogy hol azd találhatók az egyes szolgáltatások.
Környezet konfigurációja
A .azure könyvtár a helyi környezet állapotát és a létrehozott azdértékeket tartalmazza. Több környezet előfizetési, hely-, erőforrás-neve-, végpont- és üzembehelyezési kimeneti értékeit is tartalmazhatja.
Kezelje ezt a könyvtárat helyi állapotként, nem pedig újrafelhasználható sablonobjektumként. Ne véglegesítse a titkos kódokat vagy környezetspecifikus értékeket tartalmazó környezeti fájlokat.
Támogató eszközök
A sablonok a következőket is tartalmazhatják:
- A GitHub Actions vagy az Azure Pipelines definíciói.
- Dockerfiles és tárolókonfiguráció.
- Fejlesztői konténer konfigurációja.
- Parancs- és szolgáltatáskapcsok.
- Tesztek, szkriptek és projektdokumentáció.
Ezek az elemek nem kötelezőek, és csak akkor szerepeljenek, ha támogatják a sablon tervezett használatát.
Szolgáltatás- és erőforrás-társítás
Egy alkalmazásszolgáltatás üzembe helyezéséhez a azd-nak a azure.yaml-ben lévő definícióját egy kiépített Azure-erőforráshoz kell társítania. Alapértelmezés szerint megkeres egy erőforrást, azd amelynek azd-service-name a címkéje megegyezik a szolgáltatás nevével.
Például egy api nevű szolgáltatás egy azd-service-name: api címkével ellátott erőforrásra képeződik le. Ehelyett a resourceName szolgáltatástulajdonság használatával explicit módon azonosíthatja az üzembe helyezési célt.
A következő Bicep kifejezés hozzáadja a felderítési címkét egy erőforrás meglévő címkéihez:
tags: union(tags, {
'azd-service-name': 'api'
})
A sablon szerkesztésekor a szolgáltatásnevek, az erőforrás-felderítési beállítások, az infrastruktúra kimenetei és az alkalmazáskörnyezet változói igazodnak egymáshoz.
Sablon létrehozása vagy adaptálása
Az ajánlott szerkesztési folyamat érdekében futtassa a elemet, majd válassza a azd init lehetőséget. A dedikált Copilot-ügynök munkamenet elemezheti a meglévő fájlokat, segíthet egy új projekt megtervezésében, sabloneszközök létrehozásában és az eredmény ellenőrzésében. Ehhez a munkafolyamathoz és más szerzői módszerekhez tekintse meg az Új sablonnal való kezdés című témakört.
A létrehozott fájlok nincsenek Copilot kötve. A sablonfájlokat közvetlenül az inicializálás után is megvizsgálhatja és szerkesztheti . Ugyanezeket a fájlokat manuálisan vagy egy másik AI-kódolási ügynökkel is létrehozhatja.
Ha a Microsofttól, a szervezetétől vagy a fejlesztői közösségtől származó sablon már hasznos architektúrát biztosít, induljon ki a meglévő sablonból, és igazítsa a projektjéhez. Tallózzon az elérhető sablonok között a sablontárakban.
Sablonhasználati irányelvek
Minden sablont a tulajdonos a sablont kísérő szerződés alapján licencel. A sablon használata vagy terjesztése előtt határozza meg, hogy melyik licenc érvényes.
Microsoft nem felelős a nem Microsoft sablonokért, és nem veszi át őket biztonsági, adatvédelmi, kompatibilitási vagy teljesítményproblémák miatt. A sablonokra — beleértve a Microsoft által biztosított sablonokat is — nem terjed ki a Microsoft támogatási programja vagy szolgáltatása, és azokat adott állapotukban, garancia nélkül biztosítjuk.
A kiépítés előtt tekintse át az összes sablonfájlt. Különösen értékelje ki a szerepkör-hozzárendeléseket, a hálózati kitettséget, a hitelesítési módszereket, a szolgáltatási szinteket, az erőforrás-helyeket és a várható költségeket.