Vytváření a cílení prostředí
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Tento článek vysvětluje, jak vytvořit a cílit prostředí Azure Pipelines. Prostředí je kolekce prostředků , na které můžete cílit s nasazeními z kanálu.
Prostředí představuje logický cíl, ve kterém váš kanál nasazuje software. Typické názvy prostředí jsou vývoj, testování, kontrola kvality, příprava a produkce.
Poznámka:
Prostředí Azure DevOps nejsou dostupná v klasických kanálech. Pro klasické kanály nabízejí skupiny nasazení podobné funkce.
Prostředí poskytují následující výhody:
Historie nasazení Název kanálu a podrobnosti o spuštění se zaznamenávají pro nasazení do prostředí a jejích prostředků. V kontextu více kanálů, které cílí na stejné prostředí nebo prostředek, můžete použít historii nasazení prostředí k identifikaci zdroje změn.
Sledovatelnost potvrzení a pracovních položek Úlohy můžete zobrazit v rámci spuštění kanálu, které cílí na prostředí. Můžete také zobrazit potvrzení a pracovní položky , které byly nově nasazeny do prostředí. Sledovatelnost také umožňuje sledovat, jestli pracovní položka změny kódu nebo funkce nebo opravy chyb dosáhla prostředí.
Stav diagnostických prostředků Můžete ověřit, jestli aplikace funguje v požadovaném stavu.
Zabezpečení. Prostředí můžete zabezpečit zadáním toho, kteří uživatelé a kanály mají povoleno cílit na prostředí.
Prostředí je seskupení prostředků, ve kterých samotné prostředky představují skutečné cíle nasazení. Prostředí Azure Pipelines v současné době podporují typy prostředků Kubernetes a virtuálních počítačů .
Pokud kanál YAML odkazuje na prostředí, které neexistuje:
Když je uživatel provádějící operaci známý a může být přiřazena oprávnění, Azure Pipelines automaticky vytvoří prostředí.
Pokud Azure Pipelines nemá informace o uživateli provádějícím operaci, například v aktualizaci YAML z externího editoru kódu, kanál selže.
Požadavky
Pokud chcete přidat prostředí, potřebujete následující požadavky:
- Organizace a projekt Azure DevOps
- Role Tvůrce pro prostředí v projektu.
Vytvořit prostředí
Vytvoření prvního prostředí:
Přihlaste se ke své organizaci
https://dev.azure.com/{yourorganization}
Azure DevOps a otevřete svůj projekt.Vyberte prostředí>Pipelines>Create environment.
Zadejte informace pro prostředí a pak vyberte Vytvořit. Prostředky můžete přidat do existujícího prostředí později.
Tip
Můžete vytvořit prázdné prostředí a odkazovat na něj z úloh nasazení, abyste mohli zaznamenávat historii nasazení do prostředí.
Azure Pipelines můžete použít k nasazení do prostředí. Další informace najdete v tématu Sestavení a nasazení do služby Azure Kubernetes Service pomocí Azure Pipelines.
Cílení na prostředí z úlohy nasazení
Úloha nasazení je kolekce kroků, které se spouštějí postupně. Úlohu nasazení můžete použít k cílení na celou skupinu prostředí prostředků, jak je znázorněno v následujícím příkladu fragmentu kódu YAML. Kanál běží na myVM
počítači, protože je zadaný název prostředku.
- 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
Cílení na konkrétní prostředek prostředí z úlohy nasazení
Cíl nasazení můžete vymezit na konkrétní prostředek v rámci prostředí, abyste mohli zaznamenávat historii nasazení pro konkrétní prostředek. Kroky úlohy nasazení automaticky dědí podrobnosti o připojení služby z prostředku, na který cílí úloha nasazení.
V následujícím příkladu se hodnota automaticky kubernetesServiceConnection
předává úkolu ze environment.resource
vstupu.
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)
Poznámka:
Pokud používáte privátní cluster AKS, ujistěte se, že jste připojení k virtuální síti clusteru, protože koncový bod serveru rozhraní API není přístupný prostřednictvím veřejné IP adresy.
Azure Pipelines doporučuje nastavit agenta v místním prostředí v rámci virtuální sítě, která má přístup k virtuální síti clusteru. Podrobnosti najdete v tématu Možnosti připojení k privátnímu clusteru .
Použití ručních kontrol schválení
K řízení nasazení do produkčních prostředí podporuje Azure Pipelines ruční kontroly schvalování v prostředích. Kontroly schválení jsou dostupné vlastníkům prostředků, kteří můžou řídit, kdy fáze v kanálu prostředek spotřebovává. Vlastníci prostředků můžou definovat schválení a kontroly, které musí být splněny před tím, než se tento prostředek začne využívat.
Role tvůrce, správce a uživatele prostředí, ale ne role Čtenář, může spravovat schválení a kontroly. Jako vlastník prostředí můžete ručně řídit, kdy se má fáze spustit pomocí kontrol schválení. Další informace najdete v tématu Definování schválení a kontrol.
Zobrazení prostředí v podrobnostech o spuštění
Na kartě Prostředí podrobností o spuštění kanálu uvidíte všechna prostředí, na která cílí úlohy nasazení spuštění kanálu.
Poznámka:
Pokud používáte privátní cluster Azure Kubernetes Service (AKS), karta Prostředí není dostupná.
Zobrazení historie nasazení
Pokud chcete zobrazit historii nasazení, můžete v části Prostředí Azure Pipelines vybrat kartu Nasazení.
Zobrazte úlohy ze všech kanálů, které cílí na konkrétní prostředí. Například dvě mikroslužby, které mají vlastní kanál, se můžou nasadit do stejného prostředí. Historie nasazení pomáhá identifikovat všechny kanály, které ovlivňují prostředí, a také pomáhá vizualizovat posloupnost nasazení jednotlivými kanály.
Pokud chcete přejít k podrobnostem úlohy, vyberte na stránce nasazení kartu Změny a Pracovní položky . Karty zobrazují seznamy potvrzení a pracovních položek nasazených do prostředí. Každá položka seznamu představuje nové položky v daném nasazení.
Na kartě Změny první výpis obsahuje všechna potvrzení k tomuto bodu a následující výpisy zahrnují pouze změny pro danou úlohu. Pokud je ke stejné úloze vázáno více potvrzení, na kartě Změny je více výsledků.
Pokud je více pracovních položek svázaných se stejnou úlohou, na kartě Pracovní položky existuje více výsledků.
Zabezpečení
Svá prostředí můžete zabezpečit nastavením uživatelských oprávnění a oprávnění kanálu.
Uživatelská oprávnění
Můžete určit, kdo může vytvářet, zobrazovat, používat a spravovat prostředí s uživatelskými oprávněními. Existují čtyři role: Tvůrce s rozsahem všech prostředí, čtenáře, uživatele a správce.
Pokud chcete přidat uživatele pomocí panelu Uživatelských oprávnění prostředí, přejděte do konkrétního prostředí , které chcete autorizovat, vyberte ikonu Další akce a vyberte Zabezpečení.
Na panelu Oprávnění uživatele na stránce Zabezpečení vyberte Přidat a pak vyberte uživatele nebo skupinu a vhodnou roli.
Na panelu Uživatelská oprávnění můžete také nastavit oprávnění, která jsou zděděná, a přepsat role pro vaše prostředí.
Role | Popis |
---|---|
Tvůrce | Globální role dostupná z možností zabezpečení centra prostředí Členové této role mohou vytvořit prostředí v projektu. Přispěvatelé se ve výchozím nastavení přidávají jako členové. Vyžaduje se k aktivaci kanálu YAML, pokud prostředí ještě neexistuje. |
Čtenář | Členové této role mohou zobrazit prostředí. |
Uživatel | Členové této role můžou prostředí používat při vytváření nebo úpravách kanálů YAML. |
Správce | Členové této role mohou spravovat oprávnění, vytvářet, spravovat, zobrazovat a používat prostředí. Pro konkrétní prostředí se jeho tvůrce ve výchozím nastavení přidá jako správce. Správci můžou také otevřít přístup k prostředí pro všechny kanály. |
Důležité
Při vytváření prostředí má roli správce jenom tvůrce.
Role | Popis |
---|---|
Tvůrce | Globální role dostupná z možností zabezpečení centra prostředí Členové této role mohou vytvořit prostředí v projektu. Přispěvatelé se ve výchozím nastavení přidávají jako členové. Vyžaduje se k aktivaci kanálu YAML, pokud prostředí ještě neexistuje. |
Čtenář | Členové této role mohou zobrazit prostředí. |
Uživatel | Členové této role můžou prostředí používat při vytváření nebo úpravách kanálů YAML. |
Správce | Kromě použití prostředí můžou členové této role spravovat členství všech ostatních rolí pro prostředí. Tvůrci se ve výchozím nastavení přidávají jako členové. |
Oprávnění kanálu
Pomocí panelu oprávnění kanálu na stránce Zabezpečení můžete autorizovat všechny nebo vybrané kanály pro nasazení do prostředí.
Pokud chcete odebrat otevřený přístup k prostředí nebo prostředku, vyberte Omezit oprávnění v oprávněních kanálu.
Pokud jsou oprávnění omezená, můžete konkrétním kanálům povolit nasazení do prostředí nebo do konkrétního prostředku. Vyberte + a vyberte ze seznamu kanálů, které chcete povolit.
Často kladené dotazy
Proč se při pokusu o vytvoření prostředí zobrazí chybová zpráva?
Pokud se zobrazí zpráva Přístup byl odepřen: {Uživatel} potřebuje k provedení akce oprávnění Vytvořit, přejděte do části Uživatelé nastavení>organizace a zkontrolujte, jestli máte roli účastníka. Role účastníka nemůže vytvářet prostředí, protože účastníci nemají přístup k úložišti.
Změňte úroveň přístupu a pak ověřte, jestli můžete vytvářet prostředí. Další informace najdete v tématu Nejčastější dotazy ke správě uživatelů a oprávnění.
Proč se mi zobrazí chyba, že se nenašlo prostředí?
Pokud se zobrazí zpráva Úloha XXXX: Prostředí XXXX nebylo nalezeno. Prostředí neexistuje nebo nemá autorizaci k použití. K selhání může dojít z několika možných důvodů.
Parametry modulu runtime nefungují při vytváření prostředí, protože parametry jsou rozbalené pouze za běhu. Proměnné můžete použít k vytvoření prostředí nebo můžete použít templateContext k předání vlastností do šablon.
Azure Pipelines nemusí mít informace o uživateli, který prostředí vytváří.
Když v souboru kanálu YAML odkazujete na prostředí, které neexistuje, Azure Pipelines v některých případech prostředí automaticky vytvoří:
- Ve webovém prostředí Azure Pipelines použijete průvodce vytvořením kanálu YAML a odkazujete na prostředí, které ještě není vytvořené.
- Soubor YAML aktualizujete pomocí webového editoru Azure Pipelines a po přidání odkazu do prostředí potrubí uložíte.
V následujících případech Azure Pipelines nemá informace o uživateli, který vytváří prostředí, takže kanál selže.
- Soubor YAML aktualizujete pomocí jiného externího editoru kódu.
- Přidáte odkaz na prostředí, které neexistuje, a pak způsobíte spuštění ručního nebo kontinuálního integračního kanálu.
Dříve Azure Pipelines tento případ řešil přidáním všech přispěvatelů projektu do role správce prostředí. Každý člen projektu pak mohl tato oprávnění změnit a zabránit ostatním v přístupu k prostředí. Aby se zabránilo tomuto výsledku, Azure Pipelines teď tyto úlohy nastaví jako nezdařilé.