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örnyezetek olyan erőforrások gyűjteményei, amelyeket egy folyamat központi telepítéseivel célozhat meg.
A környezet egy logikai célt jelöl, ahol a folyamat szoftvereket helyez üzembe. A környezetek tipikus nevei a Dev, a Test, a QA, az Előkészítés és az Éles környezet.
Feljegyzé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 kínálnak.
A környezetek a következő előnyöket biztosítják:
Üzembe helyezési előzmények. A rendszer rögzíti a folyamat nevét és futtatási adatait a környezetbe és erőforrásaiba történő üzembe helyezéshez. 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.
Véglegesíté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 környezetben újonnan üzembe helyezett véglegesítéseket é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
Környezet hozzáadásához a következő előfeltételekre van szükség:
- Egy Azure DevOps-szervezet és -projekt.
- A projekt környezeteinek létrehozói szerepköre.
Környezet létrehozása
Az első környezet létrehozása:
Jelentkezzen be az Azure DevOps-szervezetbe,
https://dev.azure.com/{yourorganization}
és nyissa meg a projektet.Válassza a Pipelines Environments Create environment (Folyamatkörnyezetek>>létrehozása) lehetőséget.
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.
Tipp.
Létrehozhat egy üres környezetet, és hivatkozhat rá az üzembehelyezési feladatokból, hogy rögzíthesse az üzembe helyezési előzményeket a környezetben.
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.
Környezet megcélzása üzembehelyezési feladatból
Az üzembehelyezési feladatok egymás után futtatott lépések gyűjteményei. 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 kubernetesServiceConnection
automatikusan a bemenetről environment.resource
a tevékenységre kerü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)
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 környezetek manuális jóváhagyási ellenőrzését. Az erőforrás-tulajdonosok jóváhagyási ellenőrzéseket végezhetnek annak ellenőrzéséhez, hogy egy 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 futtatási részletekben
A folyamatfuttatás részleteinek Környezetek lapján láthatja a folyamatfuttatás üzembe helyezési feladatai által megcélzott összes környezetet.
Feljegyzés
Ha Azure Kubernetes Service (AKS) privát fürtöt használ, a Környezetek lap nem érhető el.
Üzembehelyezési előzmények megtekintése
Az Üzembe helyezési előzmények megtekintéséhez válassza az Azure Pipelines-környezetek szakasz Üzembe helyezések lapfülét.
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.
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 lapok a környezetben üzembe helyezett véglegesítések és munkaelemek listáját jelenítik meg. 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ó.
Ha több munkaelem is ugyanahhoz a feladathoz van kötve, a Munkaelemek lapon több találat is található.
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ója alapértelmezés szerint rendszergazdaként lesz hozzáadva. A rendszergazdák megnyithatják a környezethez való hozzáférést 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. |
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. |
Folyamatengedélyek
A Biztonság lap Folyamatengedélyek paneljén engedélyezheti az összes vagy kijelölt folyamatot a környezetbe való üzembe helyezé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, engedélyezheti bizonyos folyamatok üzembe helyezését a környezetben vagy egy adott erőforráson. 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 a Hozzáférés megtagadva üzenet jelenik meg: {User} engedélyre van szüksége a művelet végrehajtásához, lépjen a Szervezeti beállítások>felhasználói lapra, és ellenőrizze, hogy rendelkezik-e az érintett szerepkörével. 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 jelenik meg hiba, 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. A változók használatával környezeteket hozhat létre, vagy a templateContext használatával tulajdonságokat adhat át a sablonoknak.
Előfordulhat, hogy az Azure Pipelines nem rendelkezik információval a környezetet létrehozó felhasználóról.
Ha olyan környezetre hivatkozik, amely nem létezik YAML-folyamatfájlban, az Azure Pipelines automatikusan létrehozza a környezetet a következő esetekben:
- 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.
- A YAML-fájlt az Azure Pipelines webes szerkesztőjével frissítheti, és mentheti a folyamatot, miután hozzáadta a hivatkozást a környezethez.
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.
- A YAML-fájlt egy másik külső kódszerkesztővel frissítheti.
- Olyan környezetre mutató hivatkozást adhat hozzá, amely nem létezik, majd manuális vagy folyamatos integrációs folyamatot indíthat el.
Az Azure Pipelines korábban úgy kezelte ezeket az eseteket, hogy hozzáadta az összes projekt-közreműködő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. Ennek az eredménynek a megakadályozása érdekében az Azure Pipelines most nem tudja elvégezni ezeket a feladatokat.