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


Azure DevOps-környezetek létrehozása és megcélzása

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

Ez a cikk bemutatja, hogyan hozhat létre és célozhat meg Azure Pipelines-környezeteket. A környezet olyan erőforrások csoportja, amelyeket egy folyamatvonalról történő telepítésekkel célozhat meg.

A környezet egy logikai célt jelöl, ahol a folyamat szoftvereket helyez üzembe. A gyakori környezetnevek közé tartozik a Dev, a Test, a QA, az Előkészítés és az Éles környezet.

Megjegyzés

Az Azure DevOps-környezetek nem érhetők el a klasszikus folyamatokban. A klasszikus folyamatok esetében az üzembehelyezési csoportok hasonló funkciókat biztosítanak.

A környezetek a következő előnyöket biztosítják:

  • Üzembe helyezési előzmények. A folyamatnév és a futtatási adatok feljegyzésre kerülnek a környezetbe és erőforrásaira történő telepítéskor. Több, ugyanazt a környezetet vagy erőforrást célzó folyamat kontextusában a környezet üzembehelyezési előzményei alapján azonosíthatja a változások forrását.

  • Feltöltések és munkaelemek nyomon követhetősége. Megtekintheti azokat a feladatokat a folyamatfuttatáson belül, amelyek egy környezetet céloznak meg. Megtekintheti a a környezetbe újonnan üzembe helyezett módosításokat és munkaelemeket is. A nyomon követhetőség azt is lehetővé teszi, hogy nyomon kövesse, hogy a kódmódosítás véglegesítése vagy a funkció/hibajavítás munkaelem elérte-e a környezetet.

  • Diagnosztikai erőforrás állapota. Ellenőrizheti, hogy az alkalmazás a kívánt állapotban működik-e.

  • Biztonság. A környezetek védelméhez megadhatja, hogy mely felhasználók és folyamatok célozhatnak meg egy környezetet.

A környezet olyan erőforrások csoportosítása, amelyekben maguk az erőforrások képviselik a tényleges üzembehelyezési célokat. Az Azure Pipelines-környezetek jelenleg támogatják a Kubernetes és a virtuálisgép-erőforrástípusokat.

Ha egy YAML-folyamat nem létező környezetre hivatkozik:

  • Ha a műveletet végrehajtó felhasználó ismert, és engedélyek rendelhetők hozzá, az Azure Pipelines automatikusan létrehozza a környezetet.

  • Ha az Azure Pipelines nem rendelkezik információval a műveletet végrehajtó felhasználóról, például egy külső kódszerkesztőből származó YAML-frissítésben, a folyamat meghiúsul.

Előfeltételek

Kategória Követelmények
Azure DevOps - Egy Azure DevOps-projekt.
– Képes futtatni folyamatokat a Microsoft által üzemeltetett ügynökökön. Vásárolhat párhuzamos feladatot , vagy ingyenes szintet kérhet.
- A YAML és az Azure Pipelines alapszintű ismerete. További információért lásd: Első csővezeték létrehozása.
- Engedélyek:
     Környezetek hozzáadásához a projekt környezeteinek Létrehozó szerepköre . Alapértelmezés szerint a Build Administrators, a Release Administrators és a Projectadministrators csoportok tagjai is létrehozhatnak környezeteket.
Kék Egy Azure-előfizetés.

Környezet létrehozása

Az első környezet létrehozása:

  1. Jelentkezzen be az Azure DevOps-szervezetbe, https://dev.azure.com/{yourorganization} és nyissa meg a projektet.

  2. Válassza a PipelinesKörnyezetekKörnyezet létrehozása lehetőséget.

    A környezeteket bemutató képernyőkép.

  3. Adja meg a környezet adatait, majd válassza a Létrehozás lehetőséget. Később erőforrásokat adhat hozzá egy meglévő környezethez.

    Képernyőkép egy új környezet létrehozásáról.

Tipp.

Hozzon létre egy üres környezetet, és hivatkozzon rá a "deployment" feladatokból, hogy rögzítse a környezet üzembe helyezési előzményeit.

Környezetek programozott létrehozásához és kezeléséhez használja az Azure DevOps Environments REST API-.

Az Azure Pipelines használatával környezetekben is üzembe helyezheti azokat. További információ: Build and deploy to Azure Kubernetes Service with Azure Pipelines.

Telepítési feladatból környezet célzása

Az üzembehelyezési feladat egymás után futtatott lépéseket tartalmaz. Az üzembehelyezési feladatokkal egy teljes környezeti erőforráscsoportot célozhat meg, ahogyan az alábbi YAML-kódrészletben is látható. A folyamat azért fut a myVM gépen, mert az erőforrás neve meg van adva.

- stage: deploy
  jobs:
  - deployment: DeployWeb
    displayName: deploy Web App
    pool:
      vmImage: 'Ubuntu-latest'
    # creates an environment if it doesn't exist
    environment: 
      name: 'smarthotel-dev'
      resourceName: myVM
      resourceType: virtualMachine
    strategy:
      runOnce:
        deploy:
          steps:
          - script: echo Hello world

Adott környezeti erőforrás megcélzása üzembehelyezési feladatból

Az üzembehelyezési célt a környezet egy adott erőforrására is hatókörbe helyezheti, így rögzítheti az adott erőforrás üzembe helyezési előzményeit. Az üzembehelyezési feladat lépései automatikusan öröklik a szolgáltatáskapcsolat részleteit az üzembehelyezési feladat céljainak erőforrásától.

Az alábbi példában az érték a kubernetesServiceConnection automatikusan átadódik a environment.resource bemenetről a feladatra.

environment: 
  name: 'smarthotel-dev.bookings'
strategy: 
 runOnce:
   deploy:
     steps:
     - task: KubernetesManifest@1
       displayName: Deploy to Kubernetes cluster
       inputs:
         action: deploy
         namespace: $(k8sNamespace)
         manifests: $(System.ArtifactsDirectory)/manifests/*
         imagePullSecrets: $(imagePullSecret)
         containers: $(containerRegistry)/$(imageRepository):$(tag)

Megjegyzés

Ha privát AKS-fürtöt használ, ellenőrizze, hogy hozzá van kapcsolva a fürt virtuális hálózatához, mivel az API-kiszolgáló végpontja nem publikus IP-címen keresztül érhető el.

Az Azure Pipelines azt javasolja, hogy állítson be egy saját üzemeltetésű ügynököt egy VNET-en belül, amely hozzáfér a fürt virtuális hálózatához. A részleteket lásd a privát fürthöz való csatlakozás lehetőségei című szakaszban.

Manuális jóváhagyási ellenőrzések használata

Az éles környezetekben történő üzembe helyezés szabályozásához az Azure Pipelines támogatja a manuális jóváhagyási ellenőrzéseket. Ezek az ellenőrzések lehetővé teszik, hogy az erőforrás-tulajdonosok szabályozni lehessen, hogy a folyamat egy szakasza mikor használja fel az erőforrást. Az erőforrás-tulajdonosok olyan jóváhagyásokat és ellenőrzéseket határozhatnak meg, amelyeknek teljesülniük kell ahhoz, hogy megkezdődjön az erőforrás egy szakaszának felhasználása.

A környezet létrehozói, rendszergazdai és felhasználói szerepkörei, az Olvasó szerepkör azonban nem kezelhetik a jóváhagyásokat és az ellenőrzéseket. Környezettulajdonosként manuálisan szabályozhatja, hogy egy fázis mikor fusson jóváhagyási ellenőrzésekkel. További információ: Jóváhagyások és ellenőrzések meghatározása.

Környezetek megtekintése a futtatás részleteiben

A folyamatfuttatás részleteinek Környezetek lapján láthatja a folyamatfuttatás üzembe helyezési feladatai által megcélzott összes környezetet.

Képernyőkép, amely a futtatási részletekben látható környezeteket mutatja.

Megjegyzés

Ha Azure Kubernetes Service (AKS) privát fürtöt használ, a Környezetek lap nem elérhető.

Üzembehelyezési előzmények megtekintése

Az Azure Pipelines Környezetek szakaszában válassza az Üzembe helyezések lapját az üzembe helyezési előzmények megtekintéséhez.

  • Egy adott környezetet megcélzott összes folyamat feladatainak megtekintése. Például két mikroszolgáltatás, amelyek mindegyike saját folyamatokkal rendelkezik, üzembe helyezhetők ugyanazon a környezetben. Az üzembe helyezési előzmények segítenek azonosítani a környezetet befolyásoló összes folyamatot, és az egyes folyamatok által az üzembe helyezések sorrendjének megjelenítésében is segítenek.

    Képernyőkép az üzembe helyezési előzmények listájáról.

  • A feladat részleteinek részletezéséhez válassza a Módosítások és a Munka elemek lapokat az üzembe helyezési lapon. A fülek azokat a véglegesítéseket és munkaelemeket mutatják, amelyeket a környezetbe telepítettek. Minden listaelem az üzembe helyezés új elemeit jelöli.

    A Módosítások lapon az első lista az adott pontra vonatkozó összes véglegesítést tartalmazza, az alábbi listaelemek pedig csak az adott feladat módosításait tartalmazzák. Ha több véglegesítés is ugyanahhoz a feladathoz van kötve, a Módosítások lapon több találat is található.

    Képernyőkép az üzembe helyezési előzmények alatt lévő véglegesítésekről.

  • Ha több munkaelem is ugyanahhoz a feladathoz van kötve, a Munkaelemek lapon több találat is található.

    Képernyőkép az üzembe helyezési előzmények alatt lévő munkaelemekről.

Biztonság

A környezetek védelmét a felhasználói engedélyek és a folyamatengedélyek beállításával teheti meg.

Felhasználói engedélyek

Szabályozhatja, hogy ki hozhat létre, tekinthet meg, használhat és kezelhet környezeteket felhasználói engedélyekkel. Négy szerepkör van: Az összes környezet hatókörével rendelkező létrehozó, olvasó, felhasználó és rendszergazda.

Ha felhasználót szeretne hozzáadni egy környezet Felhasználói engedélyek paneljén, lépjen az engedélyezni kívánt adott környezetre, válassza a További műveletek ikont, és válassza a Biztonság lehetőséget.

A Biztonság lap Felhasználói engedélyek paneljén válassza a Hozzáadás lehetőséget, majd válasszon ki egy felhasználót vagy csoportot, valamint egy megfelelő szerepkört.

A Felhasználói engedélyek panelen beállíthatja az örökölt engedélyeket, és felülbírálhatja a környezet szerepköreit.

Szerepkör Leírás
Alkotó Globális szerepkör, amely a environments hub biztonsági beállításából érhető el. A szerepkör tagjai létrehozhatják a környezetet a projektben. A közreműködők alapértelmezés szerint tagokként lesznek hozzáadva. YAML-folyamat aktiválásához szükséges, ha a környezet még nem létezik.
Olvasó A szerepkör tagjai megtekinthetik a környezetet.
Felhasználó A szerepkör tagjai használhatják a környezetet YAML-folyamatok létrehozásakor vagy szerkesztésekor.
Rendszergazda A szerepkör tagjai felügyelhetik az engedélyeket, létrehozhatnak, kezelhetnek, megtekinthetnek és használhatnak környezeteket. Egy adott környezet esetében a létrehozó alapértelmezés szerint rendszergazdaként lesz hozzáadva. A rendszergazdák megnyithatják a környezethez való hozzáférést az összes pipeline-hoz.

Fontos

Környezet létrehozásakor csak a létrehozó rendelkezik rendszergazdai szerepkörsel.

Szerepkör Leírás
Alkotó Globális szerepkör, amely a environments hub biztonsági beállításából érhető el. A szerepkör tagjai létrehozhatják a környezetet a projektben. A közreműködők alapértelmezés szerint tagokként lesznek hozzáadva. YAML-folyamat aktiválásához szükséges, ha a környezet még nem létezik.
Olvasó A szerepkör tagjai megtekinthetik a környezetet.
Felhasználó A szerepkör tagjai használhatják a környezetet YAML-folyamatok létrehozásakor vagy szerkesztésekor.
Rendszergazda A környezet használata mellett ennek a szerepkörnek a tagjai kezelhetik a környezet összes többi szerepkörének tagságát. Az alkotók alapértelmezés szerint tagokként lesznek hozzáadva.

Csővezeték engedélyek

A Biztonság lap Pipeline engedélyek paneljén engedélyezheti az összes vagy a kijelölt pipeline-t a környezetbe való telepítéshez.

  • A környezet vagy erőforrás nyílt hozzáférésének eltávolításához válassza a Folyamatengedélyek engedélyeinek korlátozása lehetőséget.

  • Ha az engedélyek korlátozottak, megadhatja bizonyos csővezetékek üzembe helyezését adott környezetben vagy egy adott erőforrásra. Válassza ki + és válassza ki az engedélyezni kívánt folyamatok listáját.

GYIK

Miért kapok hibaüzenetet, amikor megpróbálok létrehozni egy környezetet?

Ha megjelenik a Hozzáférés megtagadva: {User} létrehozási engedélyre van szüksége a művelet végrehajtásához üzenet, lépjen a Szervezeti beállítások>Felhasználói lapra, és ellenőrizze, hogy rendelkezik-e az Érdekelt fél szerepkörrel. Az érdekelt szerepkör nem tud környezeteket létrehozni, mert az érdekelt felek nem férnek hozzá az adattárhoz.

Módosítsa a hozzáférési szintet, majd próbáljon meg környezetet létrehozni. További információért lásd a felhasználók és engedélyek kezelésével kapcsolatos gyakori kérdéseket.

Miért kapok olyan hibaüzenetet, hogy egy környezet nem található?

Ha megjelenik a XXXX. feladat: A XXXX környezet nem található. A környezet nem létezik vagy nincs engedélyezve a használathoz. A hiba több lehetséges oka is lehet.

  • A futtatókörnyezet paraméterei nem működnek környezetek létrehozásakor, mert a paraméterek csak futásidőben lesznek kibontva. Változók használatával környezetet hozhat létre, vagy a templateContext használatával tulajdonságokat adhat át a sablonoknak.

    Amikor egy YAML feldolgozási sor fájlban nemlétező környezetre hivatkozik, az Azure Pipelines automatikusan létrehozza a környezetet a következő esetekben:

    • Ön a YAML feldolgozási sor létrehozási varázslót használja az Azure Pipelines webes felületén, és egy még nem létrehozott környezetre hivatkozik.
    • Ön az Azure Pipelines webes szerkesztőjével frissíti a YAML-fájlt, és a környezetre mutató hivatkozás hozzáadása után menti a csővezetéket.

    A következő esetekben az Azure Pipelines nem rendelkezik információval a környezetet létrehozó felhasználóról, ezért a folyamat meghiúsul:

    • Ön a YAML-fájlt egy másik külső kódszerkesztővel frissíti.
    • Ön olyan környezetre mutató hivatkozást ad hozzá, amely nem létezik, majd manuális vagy folyamatos integrációs feldolgozási sort indít el.

    Korábban az Azure Pipelines úgy kezelte ezt az esetet, hogy hozzáadta a projekt összes közreműködőjét a környezet rendszergazdai szerepköréhez. Ezután a projekt bármely tagja módosíthatta ezeket az engedélyeket, és megakadályozhatta, hogy mások hozzáférjenek a környezethez. Ezen kimenetel megakadályozása érdekében az Azure Pipelines most nem tudja elvégezni ezeket a feladatokat.