Sdílet prostřednictvím


Správa skupin proměnných

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Tento článek vysvětluje, jak vytvářet a používat skupiny proměnných ve službě Azure Pipelines. Skupiny proměnných ukládají hodnoty a tajné kódy, které můžete předat do kanálu YAML nebo zpřístupnit více kanálů v projektu.

Tajné proměnné ve skupinách proměnných jsou chráněné prostředky. Přidáním kombinací oprávnění ke schválení, kontrolám a kanálům můžete omezit přístup k tajným proměnným ve skupině proměnných. Přístup k nesekretním proměnným není omezen schváleními, kontrolami nebo oprávněními kanálu.

Skupiny proměnných se řídí modelem zabezpečení knihovny pro role a oprávnění.

Požadavky

  • Organizace a projekt Azure DevOps Services, kde máte oprávnění vytvářet kanály a proměnné.
  • Projekt ve vaší organizaci Azure DevOps nebo kolekci Azure DevOps Serveru. Pokud ho nemáte, vytvořte projekt .
  • Pokud používáte Azure DevOps CLI, potřebujete Azure CLI verze 2.30.0 nebo vyšší s rozšířením Azure DevOps CLI. Další informace najdete v tématu Začínáme s Azure DevOps CLI.
  • Kolekce a projekt Azure DevOps Serveru, kde máte oprávnění k vytváření kanálů a proměnných.
  • Projekt ve vaší organizaci Azure DevOps nebo kolekci Azure DevOps Serveru. Pokud ho nemáte, vytvořte projekt .

Nastavení rozhraní CLI

Pokud používáte Azure DevOps CLI, musíte nastavit rozhraní příkazového řádku pro práci s organizací a projektem Azure DevOps.

  1. Přihlaste se ke své organizaci Azure DevOps pomocí příkazu az login .

    az login
    
  2. Pokud se zobrazí výzva, vyberte své předplatné ze seznamu zobrazeného v okně terminálu.

  3. Pomocí následujících příkazů se ujistěte, že používáte nejnovější verzi Azure CLI a rozšíření Azure DevOps.

    az upgrade
    az extension add --name azure-devops --upgrade
    
  4. V příkazech Azure DevOps CLI můžete nastavit výchozí organizaci a projekt pomocí:

    az devops configure --defaults organization=<YourOrganizationURL> project=<Project Name or ID>`
    

    Pokud jste nenastavili výchozí organizaci a projekt, můžete pomocí parametru detect=true ve svých příkazech automaticky rozpoznat kontext organizace a projektu na základě aktuálního adresáře. Pokud výchozí hodnoty nejsou nakonfigurované nebo zjištěné, musíte explicitně zadat org parametry a project parametry v příkazech.

Vytvoření skupiny proměnných

Pro spuštění kanálu v projektu můžete vytvořit skupiny proměnných.

Poznámka:

Pokud chcete vytvořit skupinu tajných proměnných pro propojení tajných kódů z trezoru klíčů Azure jako proměnné, postupujte podle pokynů v tématu Propojení skupiny proměnných s tajnými kódy ve službě Azure Key Vault.

  1. V projektu Azure DevOps vyberte v nabídce vlevo knihovnu Pipelines>Library.

  2. Na stránce Knihovna vyberte skupinu + Proměnná.

    Snímek obrazovky Knihovna a tlačítko Přidat skupinu proměnných

  3. Na stránce nové skupiny proměnných v části Vlastnosti zadejte název a volitelný popis skupiny proměnných.

  4. V části Proměnné vyberte + Přidat a zadejte název a hodnotu proměnné, které chcete zahrnout do skupiny. Pokud chcete hodnotu zašifrovat a bezpečně uložit, vyberte ikonu zámku vedle proměnné.

  5. Pokud chcete přidat každou novou proměnnou, vyberte + Přidat . Po dokončení přidávání proměnných vyberte Uložit.

    Snímek obrazovky s konfigurací a uložením skupiny proměnných

Tuto skupinu proměnných teď můžete použít v kanálech projektu.

Aktualizace skupin proměnných

Skupiny proměnných můžete aktualizovat pomocí uživatelského rozhraní Azure Pipelines.

  1. V projektu Azure DevOps vyberte v nabídce vlevo knihovnu Pipelines>Library.
  2. Na stránce Knihovna vyberte skupinu proměnných, kterou chcete aktualizovat. Můžete také najet myší na výpis skupiny proměnných, vybrat ikonu Další možnosti a v nabídce vybrat Upravit .
  3. Na stránce skupiny proměnných změňte některou z vlastností a pak vyberte Uložit.

Odstranění skupiny proměnných

Skupiny proměnných můžete odstranit v uživatelském rozhraní Azure Pipelines.

  1. V projektu Azure DevOps vyberte v nabídce vlevo knihovnu Pipelines>Library.
  2. Na stránce Knihovna najeďte myší na skupinu proměnných, kterou chcete odstranit, a vyberte ikonu Další možnosti.
  3. V nabídce vyberte Odstranit a pak na potvrzovací obrazovce vyberte Odstranit .

Správa proměnných ve skupinách proměnných

Proměnné ve skupinách proměnných můžete měnit, přidávat nebo odstraňovat pomocí uživatelského rozhraní Azure Pipelines.

  1. V projektu Azure DevOps vyberte v nabídce vlevo knihovnu Pipelines>Library.
  2. Na stránce Knihovna vyberte skupinu proměnných, kterou chcete aktualizovat. Můžete také najet myší na výpis skupiny proměnných, vybrat ikonu Další možnosti a v nabídce vybrat Upravit .
  3. Na stránce skupiny proměnných můžete:
    • Změňte libovolný název nebo hodnoty proměnných.
    • Odstraňte některou z proměnných tak, že vyberete ikonu uvolňování paměti vedle názvu proměnné.
    • Proměnné můžete změnit na tajný klíč nebo nezabezpečené tak, že vyberete ikonu zámku vedle hodnoty proměnné.
    • Nové proměnné přidáte tak , že vyberete + Přidat.
  4. Po provedení změn vyberte Uložit.

Použití skupin proměnných v kanálech

Skupiny proměnných můžete použít v kanálech YAML nebo Classic. Změny provedené ve skupině proměnných jsou automaticky dostupné pro všechny definice nebo fáze, se kterými je skupina proměnných propojena.

Pokud skupinu proměnných pojmenujete jenom v kanálech YAML, může každý, kdo může do úložiště odeslat kód, extrahovat obsah tajných kódů ve skupině proměnných. Proto pokud chcete použít skupinu proměnných s kanály YAML, musíte kanál autorizovat k použití této skupiny. Kanál můžete autorizovat tak, aby používal skupinu proměnných v uživatelském rozhraní Azure Pipelines nebo pomocí Azure DevOps CLI.

Autorizace prostřednictvím uživatelského rozhraní Pipelines

Kanály můžete autorizovat tak, aby používaly skupiny proměnných pomocí uživatelského rozhraní Azure Pipelines.

  1. V projektu Azure DevOps vyberte v nabídce vlevo knihovnu Pipelines>Library.
  2. Na stránce Knihovna vyberte skupinu proměnných, kterou chcete autorizovat.
  3. Na stránce skupiny proměnných vyberte kartu Oprávnění kanálu.
  4. Na obrazovce Oprávnění kanálu vyberte + a pak vyberte kanál, který chcete autorizovat. Nebo vyberte ikonu Další akce , vyberte Otevřít přístup a znovu vyberte Otevřít přístup a potvrďte to.

Výběr kanálu autorizuje tento kanál tak, aby používal skupinu proměnných. Pokud chcete autorizovat jiný kanál, znovu vyberte + ikonu. Výběrem možnosti Otevřít přístup autorizujete všechny kanály projektu tak, aby používaly skupinu proměnných. Otevřený přístup může být dobrou volbou, pokud ve skupině nemáte žádné tajné kódy.

Dalším způsobem, jak autorizovat skupinu proměnných, je vybrat kanál, vybrat Upravit a pak ručně zařadit sestavení do fronty. Zobrazí se chyba autorizace prostředků a pak můžete kanál explicitně přidat jako autorizovaný uživatel skupiny proměnných.

Autorizace prostřednictvím Azure DevOps CLI

Ve službě Azure DevOps Services můžete autorizovat skupiny proměnných pomocí Azure DevOps CLI.

Příkazy Rozhraní příkazového řádku Azure DevOps se pro Azure DevOps Server nepodporují.

Pokud chcete autorizovat všechny kanály projektu tak, aby používaly skupinu proměnných, nastavte authorize parametr v příkazu az pipelines variable-group create na true. Tento otevřený přístup může být dobrou volbou, pokud ve skupině nemáte žádné tajné kódy.

Po autorizaci kanálu YAML pro použití skupiny proměnných můžete použít proměnné v rámci skupiny v kanálu.

Pokud chcete použít proměnné ze skupiny proměnných, přidejte do souboru kanálu YAML odkaz na název skupiny.

variables:
- group: my-variable-group

Ve stejném kanálu můžete odkazovat na více skupin proměnných. Pokud několik skupin proměnných obsahuje proměnné se stejným názvem, nastaví hodnota proměnné poslední skupina proměnných, která používá proměnnou v souboru. Další informace o prioritě proměnných naleznete v tématu Rozšíření proměnných.

Můžete také odkazovat na skupinu proměnných v šabloně. Následující variables.yml soubor šablony odkazuje na skupinu my-variable-groupproměnných . Skupina proměnných obsahuje proměnnou s názvem myhello.

variables:
- group: my-variable-group

Kanál YAML odkazuje na šablonu variables.yml a používá proměnnou $(myhello) ze skupiny my-variable-groupproměnných .

stages:
- stage: MyStage
  variables:
  - template: variables.yml
  jobs:
  - job: Test
    steps:
    - script: echo $(myhello)

Použití proměnných ve skupině propojených proměnných

K hodnotám proměnných ve skupině propojených proměnných přistupujete stejným způsobem, jakým přistupujete k proměnným, které definujete v rámci kanálu. Pokud například chcete získat přístup k hodnotě proměnné pojmenované customer ve skupině proměnných propojených s kanálem, můžete použít $(customer) parametr úlohy nebo skript.

Pokud v souboru kanálu použijete samostatné proměnné i skupiny proměnných, použijte name-value syntaxi samostatných proměnných.

variables:
- group: my-variable-group
- name: my-standalone-variable
  value: 'my-standalone-variable-value'

Pokud chcete odkazovat na proměnnou ve skupině proměnných, můžete použít syntaxi makra nebo výraz runtime. V následujících příkladech má skupina my-variable-group proměnnou s názvem myhello.

Použití výrazu modulu runtime:

variables:
- group: my-variable-group
- name: my-passed-variable
  value: $[variables.myhello]
- script: echo $(my-passed-variable)

Použití syntaxe makra:

variables:
- group: my-variable-group

steps:
- script: echo $(myhello)

Nemůžete získat přístup k tajným proměnným, včetně šifrovaných proměnných a proměnných trezoru klíčů, přímo ve skriptech. Tyto proměnné musíte předat jako argumenty úkolu. Další informace najdete v tématu Proměnné tajných kódů.