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

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ů ze služby Azure Key Vault jako proměnné, postupujte podle pokynů v tématu Propojení tajných kódů ze služby Azure Key Vault.

Skupinu proměnných můžete vytvořit v uživatelském rozhraní Azure Pipelines.

Požadavky

Organizace a projekt Azure DevOps, kde máte oprávnění k vytváření kanálů a proměnných.

Vytvoření skupiny proměnných

  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.

Můžete vytvořit skupinu proměnných, která odkazuje na existující trezor klíčů Azure, a namapovat vybrané tajné kódy služby Key Vault na skupinu proměnných. Pouze názvy tajných kódů se mapují na skupinu proměnných, nikoli na hodnoty tajných kódů. Kanál spustí propojení se skupinou proměnných a načte nejnovější hodnoty tajných kódů z trezoru.

Všechny změny stávajících tajných kódů v trezoru klíčů jsou automaticky dostupné pro všechny kanály, které používají skupinu proměnných. Pokud se ale tajné kódy přidají do nebo odstraní z trezoru, přidružené skupiny proměnných se automaticky neaktualizují. Tajné kódy musíte explicitně aktualizovat, aby byly zahrnuty do skupiny proměnných.

I když Key Vault podporuje ukládání a správu kryptografických klíčů a certifikátů v Azure, integrace skupin proměnných Azure Pipelines podporuje pouze mapování tajných kódů trezoru klíčů. Kryptografické klíče a certifikáty se nepodporují.

Poznámka:

Trezory klíčů, které používají řízení přístupu na základě role v Azure (Azure RBAC), se nepodporují.

Požadavky

  • Trezor klíčů Azure, který obsahuje vaše tajné kódy. Trezor klíčů můžete vytvořit pomocí webu Azure Portal.
  • Připojení služby Azure pro váš projekt.

Vytvoření skupiny proměnných

  1. V projektu Azure DevOps vyberte skupinu Pipelines>Library>+ Variable.
  2. Na stránce Skupiny proměnných zadejte název a volitelný popis skupiny proměnných.
  3. Povolte tajné kódy propojení z trezoru klíčů Azure jako přepínač proměnných .
  4. Vyberte koncový bod předplatného Azure a název trezoru klíčů.
  5. Povolte Azure DevOps pro přístup k trezoru klíčů výběrem možnosti Autorizovat vedle názvu trezoru.
  6. Na obrazovce Zvolit tajné kódy vyberte konkrétní tajné kódy z trezoru pro mapování na tuto skupinu proměnných a pak vyberte OK.
  7. Vyberte Uložit a uložte skupinu tajných proměnných.

Snímek obrazovky se skupinou proměnných s integrací služby Azure Key Vault

Poznámka:

Připojení ke službě Azure musí mít k trezoru klíčů alespoň oprávnění Získat a zobrazit seznam , která můžete autorizovat v předchozích krocích. Tato oprávnění můžete také poskytnout na webu Azure Portal pomocí následujícího postupu:

  1. Otevřete Nastavení trezoru klíčů a pak zvolte Konfigurace>accessu Přejít k zásadám přístupu.
  2. Pokud váš projekt Azure Pipelines není uvedený v části Aplikace s alespoň oprávněními Získat a zobrazit seznam, na stránce Zásady přístupu vyberte Vytvořit.
  3. V části Oprávnění k tajným kódům vyberte Získat a Seznam a pak vyberte Další.
  4. Vyberte instanční objekt a pak vyberte Další.
  5. Znovu vyberte Další , zkontrolujte nastavení a pak vyberte Vytvořit.

Další informace najdete v tématu Použití tajných kódů služby Azure Key Vault.

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.

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

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

Autorizace kanálu YAML pro použití skupiny proměnných

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. Klasické kanály můžou používat skupiny proměnných bez samostatné autorizace.

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.

Použití skupiny proměnných v kanálu YAML

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

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 stejnou proměnnou, nastaví poslední skupina proměnných, která používá proměnnou v souboru, hodnotu proměnné. 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 skupin proměnných v kanálech YAML

K hodnotám proměnných v propojené skupině proměnných přistupujete stejným způsobem jako 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ů.

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

Klasické kanály můžou používat skupiny proměnných bez samostatné autorizace. Použití skupiny proměnných:

  1. Otevřete klasický kanál.

  2. Vyberte skupiny Proměnných>a pak vyberte Propojit skupinu proměnných.

  3. V kanálu buildu se zobrazí seznam dostupných skupin. Propojte skupinu proměnných s kanálem. Všechny proměnné ve skupině jsou k dispozici pro použití v rámci kanálu.

    V kanálu verze se také zobrazí rozevírací seznam fází v kanálu. Propojte skupinu proměnných se samotným kanálem nebo s jednou nebo více konkrétními fázemi kanálu verze. Pokud propojíte jednu nebo více fází, proměnné ze skupiny proměnných jsou vymezeny na tyto fáze a nejsou přístupné v ostatních fázích vydané verze.

    Snímek obrazovky znázorňující propojení skupiny proměnných

Když nastavíte proměnnou se stejným názvem ve více oborech, použije se jako první následující priorita:

  1. Proměnná nastavená při čekání ve frontě
  2. Proměnná nastavená v kanálu
  3. Proměnná nastavená ve skupině proměnných

Další informace o prioritě proměnných naleznete v tématu Rozšíření proměnných.

Poznámka:

Proměnné v různých skupinách, které jsou propojené s kanálem ve stejném oboru (například úloha nebo fáze), se sloučí a výsledek může být nepředvídatelný. Ujistěte se, že pro proměnné ve všech skupinách proměnných používáte různé názvy.