Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure DevOps Services | Azure DevOps Server | 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 skupina prostředků, na které můžete cílit pomocí nasazení z vývojového tokového procesu.
Prostředí představuje logický cíl, na který váš pipeline nasazuje software. Mezi běžné názvy prostředí patří vývoj, testování, kontrola kvality, příprava a produkční prostředí.
Poznámka:
Prostředí Azure DevOps nejsou dostupná v klasických pipelinech. U klasických kanálů poskytují skupiny nasazení podobné funkce.
Prostředí poskytují následující výhody:
Historie nasazení Název kanálu a podrobnosti o spuštění jsou zaznamenávány pro nasazení do prostředí a jeho 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 commitů a pracovních položek Můžete si prohlédnout úlohy v průběhu spuštění kanálu, které cílí na prostředí. Můžete také zobrazit commity a pracovní položky, které byly právě nasazeny do prostředí. Sledovatelnost také umožňuje sledovat, jestli pracovní položka změny kódu, funkce nebo opravy chyb se dostala do 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
| Kategorie | Požadavky |
|---|---|
| Azure DevOps | – Projekt Azure DevOps. – Možnost spouštět potrubí na Microsoftem hostovaných agentech. Můžete si buď koupit paralelní úlohu, nebo si můžete požádat o bezplatnou úroveň. – Základní znalost YAML a Azure Pipelines. Další informace naleznete v tématu Vytvoření prvního potrubí. - Oprávnění: Chcete-li přidat prostředí, role Creator pro prostředí ve vašem projektu. Ve výchozím nastavení mohou prostředí vytvářet také členové skupin Správci sestavení, Správci verzí a Správci projektů . |
| Azurový | Předplatné služby Azure. |
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 Pipelines>Prostředí>Vytvořit prostředí.
Zadejte informace pro prostředí a pak vyberte Vytvořit. Prostředky můžete přidat do existujícího prostředí později.
Návod
Vytvořte prázdné prostředí a odkazujte na něj z úloh nasazení, abyste zaznamenali historii nasazení ve vztahu k prostředí.
K programovému vytváření a správě prostředí použijte rozhraní REST API služby Azure DevOps Environment.
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.
Zacílit na prostředí z nasazovací úlohy
Úloha nasazení obsahuje kroky, 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. Potrubí běží na myVM počítači, protože je zadaný název zdroje.
- 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
Zaměřte se na konkrétní prostředek v 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 přebírají detaily připojení služby z prostředku, na který úloha nasazení cílí.
V následujícím příkladu se hodnota kubernetesServiceConnection automaticky předává úkolu a to ze environment.resource vstupu.
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)
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 samostatně hostovaného agenta ve virtuální síti, 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 schválení. Tyto kontroly umožňují vlastníkům zdrojů řídit, kdy fáze v potrubí spotřebovává zdroj. 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, ale ne role Čtenář, mohou řídit 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.
Podívejte se na prostředí v podrobnostech o spuštění
Na kartě Prostředí podrobností o běhu kanálu můžete vidět všechna prostředí, na která mířily úlohy nasazení běhu kanálu.
Poznámka:
Pokud používáte privátní cluster Azure Kubernetes Service (AKS), karta Prostředí není dostupná.
Zobrazení historie nasazení
Můžete vybrat kartu Nasazení v části Prostředí Azure Pipelines, pokud chcete zobrazit historii nasazení.
Zobrazte úlohy ze všech pipeline, které cílí na konkrétní prostředí. Například dvě mikroslužby, z nichž každá má vlastní potrubí, 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 commitů 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í, se na kartě Změny zobrazí 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í potrubí.
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žnosti zabezpečení centrálního rozhraní pro 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 pro spuštění procesu YAML, pokud prostředí ještě neexistuje. |
| Čtenář | Členové této role mají možnost 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žnosti zabezpečení centrálního rozhraní pro 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 pro spuštění procesu YAML, pokud prostředí ještě neexistuje. |
| Čtenář | Členové této role mají možnost 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í mohou č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í.
Pro odstranění otevřeného přístupu 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 specifickým pipelinám povolit nasazení do prostředí nebo na konkrétní prostředek. Vyberte + a vyberte ze seznamu kanálů, které chcete povolit.
časté otázky
Proč se při pokusu o vytvoření prostředí zobrazí chybová zpráva?
Pokud se zobrazí zpráva Přístup odepřen: {Uživatel} potřebuje oprávnění Vytvořit k provedení akce, přejděte do Nastavení organizace>Uživatelé a zkontrolujte, jestli máte roli Stakeholder. 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č dostávám chybu, že nelze najít 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 za běhu nefungují při vytváření prostředí, protože jsou rozšiřovány 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.
Když v souboru kanálu YAML odkazujete na prostředí, které neexistuje, Azure Pipelines v některých případech prostředí automaticky vytvoří:
- V prostředí webového rozhraní Azure Pipelines použijete průvodce pro vytváření kanálu YAML a odkazujete na prostředí, které zatím není vytvořené.
- Soubor YAML aktualizujete pomocí webového editoru Azure Pipelines a po přidání odkazu na prostředí uložíte pipeline.
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ď nechá tyto úlohy selhat.