Sdílet prostřednictvím


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í jsou kolekcí prostředků, na které můžete cílit pro nasazení 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 pipelinech. 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 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

Pokud chcete přidat prostředí, potřebujete následující požadavky:

Vytvořit prostředí

Vytvoření prvního prostředí:

  1. Přihlaste se ke své organizaci https://dev.azure.com/{yourorganization} Azure DevOps a otevřete svůj projekt.

  2. Vyberte Pipelines>Prostředí>Vytvořit prostředí.

    Snímek obrazovky znázorňující prostředí

  3. Zadejte informace pro prostředí a pak vyberte Vytvořit. Prostředky můžete přidat do existujícího prostředí později.

    Snímek obrazovky zobrazující vytvoření nového prostředí.

Tip

Můžete vytvořit prázdné prostředí a z úloh nasazení na něj odkazovat, abyste mohli zaznamenávat historii nasazení v rámci tohoto 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í je soubor 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. 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@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 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 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, 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.

Snímek obrazovky znázorňující prostředí v podrobnostech o spuštění

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.

    Snímek obrazovky znázorňující výpis historie nasazení

  • 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ů.

    Snímek obrazovky s potvrzeními v historii nasazení

  • Pokud je více pracovních položek svázaných se stejnou úlohou, na kartě Pracovní položky existuje více výsledků.

    Snímek obrazovky s pracovními položkami v historii nasazení

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 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é. Je nezbytné spustit YAML kanál, 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í 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 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 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č 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 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.

  • 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ří:

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