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.
Přihlaste se ke své organizaci Azure DevOps pomocí příkazu az login .
az login
Pokud se zobrazí výzva, vyberte své předplatné ze seznamu zobrazeného v okně terminálu.
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
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ě zadatorg
parametry aproject
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.
V projektu Azure DevOps vyberte v nabídce vlevo knihovnu Pipelines>Library.
Na stránce Knihovna vyberte skupinu + Proměnná.
Na stránce nové skupiny proměnných v části Vlastnosti zadejte název a volitelný popis skupiny proměnných.
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é.
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.
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.
- V projektu Azure DevOps vyberte v nabídce vlevo knihovnu Pipelines>Library.
- 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 .
- 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.
- V projektu Azure DevOps vyberte v nabídce vlevo knihovnu Pipelines>Library.
- Na stránce Knihovna najeďte myší na skupinu proměnných, kterou chcete odstranit, a vyberte ikonu Další možnosti.
- 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.
- V projektu Azure DevOps vyberte v nabídce vlevo knihovnu Pipelines>Library.
- 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 .
- 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.
- 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.
- V projektu Azure DevOps vyberte v nabídce vlevo knihovnu Pipelines>Library.
- Na stránce Knihovna vyberte skupinu proměnných, kterou chcete autorizovat.
- Na stránce skupiny proměnných vyberte kartu Oprávnění kanálu.
- 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.
Propojení skupiny proměnných s kanálem
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-group
promě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-group
promě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ů.