Bicep-fájlok üzembe helyezése folyamattal

Befejeződött

Most, hogy létrehozott egy alapszintű folyamatot, készen áll arra, hogy beállítsa a folyamatot a Bicep-fájlok üzembe helyezéséhez. Ebben a leckében megtudhatja, hogyan helyezhet üzembe Bicep-kódot egy folyamatból, és hogyan állíthatja be az üzembe helyezési lépéseket.

Megjegyzés:

Az egység parancsai a fogalmakat szemléltetik. Még ne futtassa a parancsokat. Hamarosan gyakorolja, amit itt tanul.

Szolgáltatáskapcsolatok

Amikor egy Bicep-fájlt a saját számítógépéről helyez üzembe, az Azure CLI-t vagy az Azure PowerShellt használja. A kód üzembe helyezése előtt jelentkezzen be az Azure-ba. Az eszközök általában arra kérik, hogy adja meg az e-mail-címét és jelszavát egy böngészőben. A hitelesítő adatok ellenőrzése után a rendszer megerősíti az erőforrások üzembe helyezésére vonatkozó engedélyeit, és az eszközökkel üzembe helyezheti a Bicep-fájlt.

A folyamat szerinti üzembe helyezéshez hitelesítés is szükséges. Mivel a folyamatok emberi beavatkozás nélkül futnak, a folyamatok egy szolgáltatásnév használatával hitelesíthetők az Azure-ban. A szolgáltatásnév hitelesítő adatai egy alkalmazásazonosítóból és egy titkos kódból állnak, amely általában kulcs vagy tanúsítvány. Az Azure Pipelinesban szolgáltatáskapcsolat használatával biztonságosan tárolhatja ezeket a hitelesítő adatokat, hogy a folyamat használni tudja őket. A szolgáltatáskapcsolatok további információkat is tartalmaznak, amelyek segítenek a folyamatnak azonosítani a telepíteni kívánt Azure-környezetet.

Tipp.

Ebben a modulban az Azure DevOps használatával automatikusan létrehoz egy szolgáltatásnevet, amikor létrehoz egy szolgáltatáskapcsolatot. Az Azure-beli üzembehelyezési folyamat hitelesítése szolgáltatásnevek használatával című modul részletesebben ismerteti a szolgáltatásnevek működését, valamint a létrehozásuk módját, a szerepkörök hozzárendelését és kezelését.

Szolgáltatáskapcsolat létrehozásakor elnevezi a kapcsolatot. A lépések ennek a névnek a használatával hivatkoznak a szolgáltatáskapcsolatra, így a folyamat YAML-kódjának nem kell titkos információkat tartalmaznia.

A folyamat indításakor az üzembe helyezési lépéseket futtató ügynök hozzáfér a szolgáltatáskapcsolathoz, beleértve a hitelesítő adatait is. A folyamatlépések a hitelesítő adatok használatával jelentkeznek be az Azure-ba, ugyanúgy, ahogy ön is bejelentkezik. Ezután a lépésben definiált műveletek a szolgáltatásnév identitását használják.

Diagram that shows a pipeline that includes an Azure deployment step, which accesses a service connection and then deploys to Azure.

Győződjön meg arról, hogy a szolgáltatásnév rendelkezik az üzembe helyezési lépések végrehajtásához szükséges engedélyekkel. Előfordulhat például, hogy a szolgáltatásnévhez hozzá kell rendelnie a közreműködői szerepkört ahhoz az erőforráscsoporthoz, amelyhez az erőforrásokat telepíti.

Figyelmeztetés

Egyszerűbbnek tűnhet a szolgáltatásnév hitelesítő adatainak tárolása a YAML-fájlban, majd a parancs használatával az login bejelentkezni. Soha ne használja ezt a módszert a szolgáltatásnév hitelesítéséhez. A YAML-fájlok hitelesítő adatait a rendszer tiszta szövegben tárolja. Bárki, aki hozzáfér az adattárhoz, megtekintheti és használhatja a hitelesítő adatokat. Még ha korlátozza is az Azure DevOps-szervezethez és -projekthez való hozzáférést, amikor valaki klónozza az adattárat, a hitelesítő adatokat tartalmazó YAML-fájl az adott személy számítógépén lesz. Fontos, hogy szolgáltatáskapcsolatot használjon, amikor az Azure-ral dolgozik egy folyamatból. A szolgáltatáskapcsolatok egyéb biztonsági és hozzáférés-vezérlési funkciókat is biztosítanak.

A szolgáltatáskapcsolatok az Azure DevOps-projektben jönnek létre. Egyetlen szolgáltatáskapcsolatot több folyamat is megoszthat. Általában azonban érdemes beállítani egy szolgáltatáskapcsolatot és a megfelelő szolgáltatásnevet minden egyes folyamathoz és környezethez, amelybe üzembe helyezve van. Ez a gyakorlat növeli a folyamatok biztonságát, és csökkenti az erőforrások véletlen üzembe helyezésének vagy konfigurálásának valószínűségét a várttól eltérő környezetben.

A szolgáltatáskapcsolatot úgy is beállíthatja, hogy csak adott folyamatokban lehessen használni. Ha például olyan szolgáltatáskapcsolatot hoz létre, amely a webhely éles környezetében van üzembe helyezve, célszerű meggyőződni arról, hogy csak a webhely folyamata használhatja ezt a szolgáltatáskapcsolatot. A szolgáltatáskapcsolat adott folyamatokra való korlátozása megakadályozza, hogy valaki véletlenül ugyanazt a szolgáltatáskapcsolatot használja egy másik projekthez, és az éles webhely leállását okozhatja.

Bicep-fájl üzembe helyezése az Azure-erőforráscsoport üzembe helyezési feladatával

Ha bicep-fájlt kell üzembe helyeznie egy folyamatból, használhatja az Azure-erőforráscsoport üzembe helyezési feladatát. Íme egy példa arra, hogyan konfigurálhat egy lépést a feladat használatára:

- task: AzureResourceManagerTemplateDeployment@3
  inputs:
    connectedServiceName: 'MyServiceConnection'
    location: 'westus3'
    resourceGroupName: Example
    csmFile: deploy/main.bicep
    overrideParameters: >
        -parameterName parameterValue

Az első sor adja meg.AzureResourceManagerTemplateDeployment@3 Ez tájékoztatja az Azure Pipelinest, hogy a lépéshez használni kívánt feladat neve el van nevezve AzureResourceManagerTemplateDeployment, és a feladat verzióját 3 szeretné használni.

Amikor az Azure-erőforráscsoport üzembe helyezési feladatát használja, bemeneteket ad meg a tevékenységhez. Az alábbiakban néhány bemenetet adhat meg a feladat használatakor:

  • connectedServiceName a használni kívánt szolgáltatáskapcsolat neve.
  • location meg kell adni annak ellenére, hogy az értéke nem használható. Az Azure-erőforráscsoport üzembe helyezési feladata egy erőforráscsoportot is létrehozhat Önnek, és ha igen, ismernie kell azt az Azure-régiót, amelyben létre szeretné hozni az erőforráscsoportot. Ebben a modulban meg kell adnia a location bemeneti értéket, de az értéke nem használatos.
  • resourceGroupName megadja annak az erőforráscsoportnak a nevét, amelybe a Bicep-fájlt telepíteni kell.
  • overrideParameters az üzembe helyezéskor a Bicep-fájlba átadni kívánt paraméterértékeket tartalmazza.

A feladat indításakor a szolgáltatáskapcsolat használatával jelentkezik be az Azure-ba. Amikor a tevékenység futtatja a megadott üzembe helyezést, a tevékenység hitelesítése megtörtént. Nem kell futtatnia az login.

Azure CLI- és Azure PowerShell-parancsok futtatása

Az Azure Pipelinesban a két leg hasznosabb beépített feladat az Azure CLI és az Azure PowerShell-feladatok. Ezekkel a feladatokkal végrehajthat egy vagy több Azure CLI- vagy PowerShell-parancsot.

A Jövőbeni Microsoft Learn-modulokban láthatja, hogyan segíthet az Azure CLI-parancs a folyamatból történő üzembe helyezési folyamat további részeinek automatizálásában.

Változók

A folyamatok gyakran tartalmaznak olyan értékeket, amelyeket el szeretne különíteni a YAML-fájltól. Ha például egy Bicep-fájlt helyez üzembe egy erőforráscsoportban, meg kell adnia az erőforráscsoport nevét. Az erőforráscsoport neve valószínűleg eltér a különböző környezetekben való üzembe helyezéskor. Előfordulhat, hogy paramétereket is meg kell adnia a Bicep-fájlokhoz, például titkos kulcsokat, például adatbázis-kiszolgálói jelszavakat. Ezeket az értékeket ne tárolja a folyamat YAML-fájljában vagy bárhol máshol a Git-adattárban. Ehelyett a biztonság növeléséhez és a folyamatdefiníciók újrafelhasználásához használjon változókat.

Változó létrehozása

Az Azure Pipelines webes felületén található egy szerkesztő, amellyel változókat hozhat létre a folyamathoz:

Screenshot of Azure DevOps that shows creating a new variable.

Az Azure Pipelines változóértékeket titkos kódként állíthatja be. Ha titkosként állít be változóértéket, a beállítás után nem tekintheti meg az értéket. Az Azure Pipelines úgy lett kialakítva, hogy ne fedje fel a titkos értékeket a folyamatnaplókban.

Figyelmeztetés

Az Azure Pipelines alapértelmezés szerint elrejti a titkos változók értékeit a folyamatnaplókban, de a bevált eljárásokat is be kell tartania. A folyamat lépéseinek hozzáférése van az összes változó értékhez, beleértve a titkos kulcsokat is. Ha a folyamat tartalmaz egy olyan lépést, amely nem kezeli biztonságosan a biztonságos változót, előfordulhat, hogy a titkos változó megjelenik a folyamatnaplókban.

Engedélyezheti, hogy a felhasználók felülbírálják a változó értékét, amikor manuálisan futtatják a folyamatot. A felhasználó által megadott érték csak az adott folyamatfuttatáshoz használható. A változó felülbírálások hasznosak lehetnek a folyamat tesztelése során.

Változó használata a folyamatban

Miután létrehozott egy változót, egy adott szintaxissal hivatkozhat a változóra a folyamat YAML-fájljában:

- task: AzureResourceManagerTemplateDeployment@3
  inputs:
    connectedServiceName: $(ServiceConnectionName)
    location: $(DeploymentDefaultLocation)
    resourceGroupName: $(ResourceGroupName)
    csmFile: deploy/main.bicep
    overrideParameters: >
      -environmentType $(EnvironmentType)

A folyamatdefiníció fájlformátuma speciális $(VariableName) szintaxist tartalmaz. Ezzel a megközelítéssel bármilyen változóra hivatkozhat, akár titkos, akár nem.

Tipp.

Az előző példában figyelje meg, hogy a Bicep-fájl neve nem változóban van tárolva. A Bicep-paraméterekhez hasonlóan nem kell mindenhez változókat létrehoznia. Érdemes változókat létrehozni minden olyan változóhoz, amely változhat a környezetek között, és minden olyanhoz, ami titkos. Mivel a folyamat mindig ugyanazt a sablonfájlt fogja használni, nem kell változót létrehoznia az elérési úthoz.

Rendszerváltozók

Az Azure Pipelines rendszerváltozókat is használ. A rendszerváltozók előre definiált információkat tartalmaznak, amelyeket érdemes lehet használni a folyamatban. Az alábbiakban néhány rendszerváltozót használhat a folyamatban:

  • Build.BuildNumber A folyamatfuttatás egyedi azonosítója. A neve ellenére az Build.BuildNumber érték gyakran sztring, nem pedig szám. Ezzel a változóval nevezheti el az Azure-üzemelő példányt, így nyomon követheti az üzembe helyezést az azt kiváltó adott folyamatfuttatásig.
  • Agent.BuildDirectory az ügynökgép fájlrendszerének elérési útja, ahol a folyamatfuttatás fájljait tárolják. Ezek az információk akkor lehetnek hasznosak, ha a buildügynök fájljaira szeretne hivatkozni.

Változók létrehozása a folyamat YAML-fájljában

Amellett, hogy az Azure Pipelines webes felületének használatával változókat hozhat létre, a folyamat YAML-fájljában is beállíthat változóértékeket. Ezt a beállítást akkor használhatja, ha olyan értékekkel rendelkezik, amelyek nem titkosak, amikor az értékek tárolhatók az adattárban, és ha a változó értékeket egy helyen szeretné tárolni a fájlban, így a folyamatdefinícióban hivatkozhat rájuk. Ezzel a módszerrel nyomon követheti a változó változásait a verziókövetési rendszerben.

Ha egy változót szeretne beállítani a YAML-fájlban, adjon hozzá egy szakaszt variables :

trigger: none

pool:
  vmImage: ubuntu-latest

variables:
  ServiceConnectionName: 'MyServiceConnection'
  EnvironmentType: 'Test'
  ResourceGroupName: 'MyResourceGroup'
  DeploymentDefaultLocation: 'westus3'

jobs:
- job:
  steps:
  - task: AzureResourceManagerTemplateDeployment@3
    inputs:
      connectedServiceName: $(ServiceConnectionName)
      location: $(DeploymentDefaultLocation)
      resourceGroupName: $(ResourceGroupName)
      csmFile: deploy/main.bicep
      overrideParameters: >
        -environmentType $(EnvironmentType)

Ez a folyamat példa négy változót határoz meg: ServiceConnectionName, EnvironmentType, ResourceGroupNameés DeploymentDefaultLocation.

A modul későbbi részében látni fogja, hogyan kombinálhatja a különböző helyeken definiált változókat egy folyamaton belül.