Környezet létrehozása és megcélzása

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

A környezetek olyan erőforrások gyűjteményei, amelyeket egy folyamat központi telepítéseivel célozhat meg. A környezetnevek tipikus példái a Dev, a Test, a QA, az Előkészítés és az Éles környezet. Az Azure DevOps-környezet egy logikai célt jelöl, ahol a folyamat szoftvereket helyez üzembe.

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

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

Haszon Ismertetés
Üzembe helyezési előzmények A folyamatnév és a futtatás részletei rögzítve lesznek a környezetbe és az erőforrásaiba történő üzembe helyezéshez. Az ugyanazon környezetet vagy erőforrást célzó több folyamat kontextusában a környezet üzembe helyezési előzményei hasznosak a módosítások forrásának azonosításához.
Véglegesítések és munkaelemek nyomon követhetősége Megtekintheti a környezeteket célzó folyamatfuttatáson belüli feladatokat. Megtekintheti a környezetben újonnan üzembe helyezett véglegesítéseket és munkaelemeket is. A nyomon követhetőség lehetővé teszi azt is, hogy nyomon követhető legyen, hogy a kódmódosítás (véglegesítés) vagy a funkció/hibajavítás (munkaelemek) elértek-e egy környezetet.
Diagnosztikai erőforrás állapota Ellenőrizze, hogy az alkalmazás a kívánt állapotában működik-e.
Biztonság A környezetek biztonságossá tételéhez adja meg, hogy mely felhasználók és folyamatok célozhatnak meg egy környezetet.

Míg a környezet erőforrások csoportosítása, maguk az erőforrások jelentik a tényleges üzembehelyezési célokat. A Kubernetes-erőforrás - és virtuálisgép-erőforrástípusok jelenleg támogatottak.

Amikor yaML-folyamatot készít, és nem létező környezetre hivatkozik, az Azure Pipelines automatikusan létrehozza a környezetet, amikor a műveletet végrehajtó felhasználó ismert, és engedélyek rendelhetők hozzá. Ha az Azure Pipelines nem rendelkezik információval a környezetet létrehozó felhasználóról (például EGY YAML-frissítés egy külső kódszerkesztőből), a folyamat meghiúsul, ha a környezet még nem létezik.

Előfeltételek

  • Környezet hozzáadásához rendelkeznie kell a Környezetek létrehozói szerepkörével.

Környezet létrehozása

  1. Jelentkezzen be a szervezetbe, https://dev.azure.com/{yourorganization} és válassza ki a projektet.

  2. Válassza a Pipelines Environments Create environment (Folyamatkörnyezetek>>létrehozása) lehetőséget.

    Environments

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

    Screenshot of creating a new environment.

A folyamatok használatával környezeteket is létrehozhat és üzembe helyezhet. További információkért tekintse meg az útmutatót.

Tipp.

Létrehozhat egy üres környezetet, és hivatkozhat rá az üzembehelyezési feladatokból. Ezzel rögzítheti az üzembe helyezési előzményeket a környezetben.

Környezet megcélzása üzembehelyezési feladatból

Az üzembehelyezési feladatok egymás után futtatandó lépések gyűjteményei. Az üzembehelyezési feladat egy teljes környezetet (erőforráscsoportot) célozhat meg, ahogyan az a következő YAML-kódrészletben látható. A folyamat a myVM-gépen fog futni, 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

Egy adott erőforrás megcélzása egy környezetben az üzembe helyezési feladatból

Az üzembe helyezés céljának hatóköre egy adott erőforrásra terjedhet ki a környezetben. Ezután rögzítheti az üzembe helyezési előzményeket egy adott erőforráson a környezetben. Az üzembehelyezési feladat lépései automatikusan öröklik a szolgáltatáskapcsolat részleteit az üzembe helyezési feladat által megcélzott erőforrástól.

environment: 
  name: 'smarthotel-dev.bookings'
strategy: 
 runOnce:
   deploy:
     steps:
     - task: KubernetesManifest@0
       displayName: Deploy to Kubernetes cluster
       inputs:
         action: deploy
         namespace: $(k8sNamespace)
         manifests: $(System.ArtifactsDirectory)/manifests/*
         imagePullSecrets: $(imagePullSecret)
         containers: $(containerRegistry)/$(imageRepository):$(tag)
         # value for kubernetesServiceConnection input automatically passed down to task by environment.resource input

A környezet futási részletei

A folyamat adott futtatásának üzembe helyezési feladatai által megcélzott összes környezet megtalálható a folyamatfuttatás részleteinek Környezetek lapján.

Environments in run details

Ha privát AKS-fürtöt használ, a Környezetek lap nem érhető el.

Approvals

Manuálisan szabályozhatja, hogy mikor fusson egy szakasz jóváhagyási ellenőrzésekkel. A jóváhagyási ellenőrzések használatával szabályozhatja az éles környezetekben történő üzembe helyezéseket. Az erőforrás-tulajdonos számára elérhető ellenőrzésekkel szabályozható, hogy a folyamat egy szakasza mikor használ fel erőforrást. Egy erőforrás, például egy környezet tulajdonosaként megadhatja azokat a jóváhagyásokat és ellenőrzéseket , amelyeket teljesítenie kell az erőforrás egy szakaszának megkezdése előtt.

Támogatjuk a környezetek manuális jóváhagyási ellenőrzését. További információ: Jóváhagyások.

A létrehozó, a Rendszergazda istrator és a felhasználói szerepkörök kezelhetik a jóváhagyásokat és az ellenőrzéseket. Az Olvasó szerepkör nem tudja kezelni a jóváhagyásokat és az ellenőrzéseket.

Üzembe helyezési előzmények

A környezeteken belüli üzembehelyezési előzmények nézet a következő előnyöket nyújtja.

  • 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, ugyanabban a környezetben van üzembe helyezve. Az üzembe helyezési előzmények listája segít azonosítani a környezetet befolyásoló összes folyamatot, és segít az üzembe helyezések sorrendjének megjelenítésében az egyes folyamatok szerint.

    Screenshot of deployment history listing.

  • A feladat részleteinek részletezésével megtekintheti a környezetben üzembe helyezett véglegesítések és munkaelemek listáját. A véglegesítések és a munkaelemek listája az üzembe helyezések közötti új elemek. Az első lista az összes véglegesítést tartalmazza, és az alábbi listaelemek csak módosításokat tartalmaznak. Ha több véglegesítés is ugyanahhoz a lekéréses kérelemhez van kötve, több találat is megjelenik a munkaelemeken és a módosítások lapon.

    Screenshot of commits under deployment history.

  • Ha több munkaelem is ugyanahhoz a lekéréses kérelemhez van kötve, több találat is megjelenik a munkaelemek lapon.

    Screenshot of work items under deployment history.

Biztonság

User permissions

Szabályozhatja, hogy ki hozhatja létre, tekintheti meg, használhatja és kezelheti a környezeteket felhasználói engedélyekkel. Négy szerepkör van: Létrehozó (hatókör: minden környezet), Olvasó, Felhasználó és Rendszergazda istrator. Az adott környezet felhasználói engedélyek paneljén beállíthatja az örökölt engedélyeket, és felülbírálhatja az egyes környezetek szerepköreit.

  1. Nyissa meg az engedélyezni kívánt környezetet .
  2. A beállítások megtekintéséhez válassza >a Biztonság lehetőséget.
  3. Válassza a Felhasználói engedélyek>+Felhasználó vagy csoport hozzáadása>lehetőséget, majd válasszon egy megfelelő szerepkört.
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.
Reader 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ója alapértelmezés szerint Rendszergazda inistratorként lesz hozzáadva. Rendszergazda istratorok a környezethez való hozzáférést is megnyithatják az összes folyamathoz.

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.
Reader 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.

Folyamatengedélyek

Folyamatengedélyek használatával engedélyezze az összes vagy kijelölt folyamatot a környezetbe való üzembe helyezéshez.

  • Ha el szeretné távolítani a nyílt hozzáférést a környezetben vagy az erőforrásban, válassza a Folyamatengedélyek engedélyeinek korlátozása lehetőséget.
  • Ha engedélyezni szeretné, hogy adott folyamatok üzembe helyezhetők egy környezetben vagy egy adott erőforrásban, válassza ki + és válassza ki a folyamatokat tartalmazó listából.

További lépések

Define approvals and checks

GYIK

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

Válasz: Ha a "Hozzáférés megtagadva: {User} engedélyre van szüksége a művelet végrehajtásához" üzenet jelenik meg, ellenőrizze a szervezeti szintű engedélyeket. Nyissa meg a Szervezeti beállítások>Felhasználók elemet, és ellenőrizze, hogy rendelkezik-e résztvevői hozzáféréssel. Résztvevői szerepkörben nem lehet környezetet létrehozni. Change your access level and then check to see if you can create environments. For more information, see User and permissions management FAQ.

K: Miért jelenik meg a következő hibaüzenet: "XxxX. feladat: A XXXX környezet nem található. The environment does not exist or has not been authorized for use"?

Válasz: A hiba néhány lehetséges oka:

  • Amikor létrehoz egy YAML-folyamatot, és olyan környezetre hivatkozik, amely nem létezik a YAML-fájlban, az Azure Pipelines bizonyos esetekben automatikusan létrehozza a környezetet:

    • A YAML-folyamatlétrehozó varázslót az Azure Pipelines webes felületén használhatja, és egy még nem létrehozott környezetre hivatkozhat.
    • Az Azure Pipelines webes szerkesztőjével frissítheti a YAML-fájlt, és mentheti a folyamatot, miután a nem létező környezetre mutató hivatkozást adott hozzá.
  • A következő folyamatokban az Azure Pipelines nem rendelkezik információval a környezetet létrehozó felhasználóról: a YAML-fájlt egy másik külső kódszerkesztővel frissíti, egy nem létező környezetre mutató hivatkozást ad hozzá, majd elindít egy manuális vagy folyamatos integrációs folyamatot. Ebben az esetben az Azure Pipelines nem tud a felhasználóról. Korábban úgy kezeltük ezt az esetet, hogy hozzáadtuk 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.

  • Változókkal létrehozhatja a környezetet, vagy a templateContext használatával tulajdonságokat adhat át a sablonoknak. A futtatókörnyezet paraméterei nem működnek a környezet létrehozásakor, mert futásidőben ki vannak bontva.

  • Az érdekelt felek hozzáférési szinttel rendelkező felhasználói nem hozhatják létre a környezetet, mivel az érdekelt felek nem férnek hozzá az adattárhoz.