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

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 prostředí>Pipelines>Create environment.

    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 s vytvořením nového prostředí

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)

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.

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í

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.

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

    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í 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 admininistrator. 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 zobrazí chyba, že se prostředí nenašlo?

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 k předání vlastností šablonám pomocí templateContext.

  • Azure Pipelines nemusí mít informace o uživateli, který prostředí vytváří.

    Pokud odkazujete na prostředí, které v souboru kanálu YAML neexistuje, Azure Pipelines automaticky vytvoří prostředí v následujících případech:

    • Průvodce vytvořením kanálu YAML použijete ve webovém prostředí Azure Pipelines a odkazujete na prostředí, které ještě není vytvořeno.
    • Soubor YAML aktualizujete pomocí webového editoru Azure Pipelines a kanál uložíte po přidání odkazu do prostředí.

    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 aktivaci ručního nebo průběžného kanálu integrace.

    Dříve služba Azure Pipelines tyto případy zpracovávala 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 selže.