Přidat & skupiny proměnných použití

Skupiny proměnných ukládají hodnoty a tajné kódy, které můžete chtít předat do kanálu YAML nebo zpřístupnit v rámci více kanálů. Skupiny proměnných můžete sdílet a používat v několika kanálech ve stejném projektu.

Skupiny proměnných jsou chráněné prostředky. Do těchto proměnných můžete přidat schválení a kontroly a nastavit oprávnění kanálu.

Poznámka

v Microsoft Team Foundation Server (TFS) 2018 a předchozích verzích se kanály sestavení a vydání nazývají definice, spuštění se nazývají sestavení, připojení služby se nazývají koncové body služby, fáze se nazývají prostředía úlohy se nazývají fáze.

Poznámka

skupiny proměnných lze použít pouze v kanálu sestavení Azure DevOps a TFS 2018.

Vytvoření skupiny proměnných

V YAML nelze vytvořit skupiny proměnných, ale lze je použít, jak je popsáno v tématu použití skupiny proměnných.

Použití skupiny proměnných

Chcete-li použít proměnnou ze skupiny proměnných, přidejte do souboru YAML odkaz na skupinu:

variables:
- group: my-variable-group

Proměnné ze skupiny proměnných pak lze použít v souboru YAML.

Použijete-li obě proměnné a skupiny proměnných, použijte name/value syntaxi pro jednotlivé neseskupené proměnné:

variables:
- group: my-variable-group
- name: my-bare-variable
  value: 'value of my-bare-variable'

Chcete-li odkazovat na skupinu proměnných, použijte syntaxi makra nebo výraz runtime. V následujícím příkladu my-variable-group má skupina proměnnou s názvem myhello .

variables:
- group: my-variable-group
- name: my-passed-variable
  value: $[variables.myhello] # uses runtime expression

steps:
- script: echo $(myhello) # uses macro syntax
- script: echo $(my-passed-variable) 

V jednom kanálu můžete odkazovat na více skupin proměnných. Pokud více skupin proměnných obsahuje stejnou proměnnou, Skupina proměnných zahrnutá do souboru YAML nastaví hodnotu proměnné.

variables:
- group: my-first-variable-group
- group: my-second-variable-group

Můžete také odkazovat na skupinu proměnných v šabloně. V šabloně variables.ymlmy-variable-group je odkazováno na skupinu. Skupina proměnných obsahuje proměnnou s názvem myhello .

# variables.yml
variables:
- group: my-variable-group

V tomto kanálu $(myhello) je zahrnutá proměnná ze skupiny proměnných my-variable-group a odkazuje na variables.yml ni.

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

Autorizovat skupinu proměnných

Chcete-li pracovat se skupinou proměnných, je nutné skupinu autorizovat. Pokud pouze zadáte název skupiny proměnných v YAML, každý, kdo může do vašeho úložiště vložit kód, může extrahovat obsah tajných kódů ve skupině proměnných. K autorizaci skupiny použijte jeden z následujících postupů:

  • Pokud chcete všem kanálům udělit přístup ke skupině proměnných, použijte příkaz Azure Pipelines. Tato možnost může být dobrá, pokud ve skupině nemáte žádné tajné kódy. Vyberte možnost skupiny proměnnýchknihovny a pak vyberte příslušnou skupinu proměnných a povolte nastavení Povolit přístup ke všem kanálům.

  • Pokud chcete autorizovat skupinu proměnných pro konkrétní kanál, otevřete kanál, vyberte Upravita pak zařadíte sestavení do fronty ručně. Zobrazí se chyba autorizace prostředku a akce autorizace prostředků u této chyby. Tuto akci vyberte, pokud chcete kanál explicitně přidat jako autorizovaného uživatele skupiny proměnných.

Poznámka

Pokud přidáte skupinu proměnných do kanálu a v sestavení nezískáte chybu autorizace prostředků, když jste očekávali, vypněte nastavení Povolit přístup ke všem kanálům .

YAML sestavení nejsou k dispozici na serveru TFS.

Přístup k proměnným hodnotám v propojené skupině proměnných stejným způsobem jako proměnné, které definujete v rámci samotného kanálu. Například pro přístup k hodnotě proměnné s názvem Zákazník ve skupině proměnných propojené s kanálem použijte parametr úlohy nebo skript. Nemůžete ale přistupovat ke klíčovým proměnným (šifrované proměnné a proměnné trezoru klíčů) přímo ve skriptech, ale musí být předány jako argumenty úkolu. Další informace najdete v tématu tajné kódy.

Změny, které provedete ve skupině proměnných, jsou automaticky dostupné všem definicím nebo fázím, ke kterým se skupina proměnných odkazuje.

Seznam skupin proměnných

Pomocí rozhraní příkazového řádku můžete zobrazit seznam skupin proměnných pro spuštění kanálu pomocí příkazu AZ Pipelines Variable-Group list . pokud je rozšíření Azure DevOps pro rozhraní příkazového řádku nové, přečtěte si téma začínáme s Azure DevOps CLI.

az pipelines variable-group list [--action {manage, none, use}]
                                 [--continuation-token]
                                 [--group-name]
                                 [--org]
                                 [--project]
                                 [--query-order {Asc, Desc}]
                                 [--top]

Volitelné parametry

  • Action: Určuje akci, kterou lze provést u skupin proměnných. Přijaté hodnoty jsou Manage, nonea Use.
  • pokračování tokenu: seznam skupin proměnných po tom, co je token pro pokračování k dispozici.
  • název skupiny: název skupiny proměnných. Jsou přijímány zástupné znaky, například new-var* .
  • org: Azure DevOps adresa URL organizace. Nakonfigurujte výchozí organizaci pomocí az devops configure -d organization=ORG_URL . Vyžaduje se, pokud není nakonfigurovaný jako výchozí nebo byl vyzvednutý pomocí git config . Příklad: --org https://dev.azure.com/MyOrganizationName/.
  • projekt: název nebo ID projektu. Nakonfigurujte výchozí projekt pomocí az devops configure -d project=NAME_OR_ID . Vyžaduje se, pokud není nakonfigurovaný jako výchozí nebo byl vyzvednutý pomocí git config .
  • pořadí dotazů: vypíše výsledky ve vzestupném nebo sestupném pořadí (výchozí nastavení). Přijaté hodnoty jsou ASC a DESC.
  • Top: počet skupin proměnných k vypsání.

Příklad

Následující příkaz vypíše horní tři skupiny proměnných ve vzestupném pořadí a vrátí výsledky ve formátu tabulky.

az pipelines variable-group list --top 3 --query-order Asc --output table

ID    Name               Type    Number of Variables
----  -----------------  ------  ---------------------
1     myvariables        Vsts    2
2     newvariables       Vsts    4
3     new-app-variables  Vsts    3

Zobrazit podrobnosti pro skupinu proměnných

Zobrazte podrobnosti skupiny proměnných v projektu pomocí příkazu AZ Pipelines Variable-Group show . pokud je rozšíření Azure DevOps pro rozhraní příkazového řádku nové, přečtěte si téma začínáme s Azure DevOps CLI.

az pipelines variable-group show --group-id
                                 [--org]
                                 [--project]

Parametry

  • ID skupiny: povinné. ID skupiny proměnných ID skupiny proměnných najdete v tématu seznam proměnných skupin.
  • org: Azure DevOps adresa URL organizace. Nakonfigurujte výchozí organizaci pomocí az devops configure -d organization=ORG_URL . Vyžaduje se, pokud není nakonfigurovaný jako výchozí nebo byl vyzvednutý pomocí git config . Příklad: --org https://dev.azure.com/MyOrganizationName/.
  • projekt: název nebo ID projektu. Nakonfigurujte výchozí projekt pomocí az devops configure -d project=NAME_OR_ID . Vyžaduje se, pokud není nakonfigurovaný jako výchozí nebo byl vyzvednutý pomocí git config .

Příklad

Následující příkaz zobrazí podrobnosti o skupině proměnných s ID 4 a vrátí výsledky ve formátu YAML.

az pipelines variable-group show --group-id 4 --output yaml

authorized: false
description: Variables for my new app
id: 4
name: MyNewAppVariables
providerData: null
type: Vsts
variables:
  app-location:
    isSecret: null
    value: Head_Office
  app-name:
    isSecret: null
    value: Fabrikam

Odstranění skupiny proměnných

Odstraňte skupinu proměnných v projektu pomocí příkazu AZ Pipelines Variable-Group Delete . pokud je rozšíření Azure DevOps pro rozhraní příkazového řádku nové, přečtěte si téma začínáme s Azure DevOps CLI.

az pipelines variable-group delete --group-id
                                   [--org]
                                   [--project]
                                   [--yes]

Parametry

  • ID skupiny: povinné. ID skupiny proměnných ID skupiny proměnných najdete v tématu seznam proměnných skupin.
  • org: Azure DevOps adresa URL organizace. Nakonfigurujte výchozí organizaci pomocí az devops configure -d organization=ORG_URL . Vyžaduje se, pokud není nakonfigurovaný jako výchozí nebo byl vyzvednutý pomocí git config . Příklad: --org https://dev.azure.com/MyOrganizationName/.
  • projekt: název nebo ID projektu. Nakonfigurujte výchozí projekt pomocí az devops configure -d project=NAME_OR_ID . Vyžaduje se, pokud není nakonfigurovaný jako výchozí nebo byl vyzvednutý pomocí git config .
  • Ano: volitelné. Nezobrazuje výzvu k potvrzení.

Příklad

Následující příkaz odstraní skupinu proměnných s ID 1 a nezobrazí výzvu k potvrzení.

az pipelines variable-group delete --group-id 1 --yes

Deleted variable group successfully.

Přidání proměnných do skupiny proměnných

pomocí Azure DevOps CLI můžete přidat proměnnou do skupiny proměnných v kanálu pomocí příkazu az pipelines variable-group proměnná create . pokud je rozšíření Azure DevOps pro rozhraní příkazového řádku nové, přečtěte si téma začínáme s Azure DevOps CLI.

az pipelines variable-group variable create --group-id
                                            --name
                                            [--org]
                                            [--project]
                                            [--secret {false, true}]
                                            [--value]

Parametry

  • ID skupiny: povinné. ID skupiny proměnných ID skupiny proměnných najdete v tématu seznam proměnných skupin.
  • název: povinné. Název proměnné, kterou přidáváte.
  • org: Azure DevOps adresa URL organizace. Nakonfigurujte výchozí organizaci pomocí az devops configure -d organization=ORG_URL . Vyžaduje se, pokud není nakonfigurovaný jako výchozí nebo byl vyzvednutý pomocí git config . Příklad: --org https://dev.azure.com/MyOrganizationName/.
  • projekt: název nebo ID projektu. Nakonfigurujte výchozí projekt pomocí az devops configure -d project=NAME_OR_ID . Vyžaduje se, pokud není nakonfigurovaný jako výchozí nebo byl vyzvednutý pomocí git config .
  • tajný kód: volitelné. Určuje, zda je hodnota proměnné tajná. Přijaté hodnoty jsou false a true.
  • hodnota: vyžaduje se pro proměnnou, která není tajná. Hodnota proměnné V případě tajných proměnných, pokud není zadán parametr Value , je vyzvednuta z proměnné prostředí s předponou nebo se uživateli zobrazí výzva k jeho zadání přes standardní vstup. Například proměnná s názvem MySecret může být vstupem pomocí proměnné prostředí .

Příklad

Následující příkaz vytvoří proměnnou ve skupině proměnných s ID 4. Nová proměnná má název vyžaduje – přihlášení a má hodnotu truea výsledek je zobrazen ve formátu tabulky.

az pipelines variable-group variable create --group-id 4 --name requires-login --value True --output table

Name            Is Secret    Value
--------------  -----------  -------
requires-login  False        True

Seznam proměnných ve skupině proměnných

Proměnné ve skupině proměnných můžete vypsat pomocí příkazu AZ Pipelines Variable-Group Variable list . pokud je rozšíření Azure DevOps pro rozhraní příkazového řádku nové, přečtěte si téma začínáme s Azure DevOps CLI.

az pipelines variable-group variable list --group-id
                                          [--org]
                                          [--project]

Parametry

  • ID skupiny: povinné. ID skupiny proměnných ID skupiny proměnných najdete v tématu seznam proměnných skupin.
  • org: Azure DevOps adresa URL organizace. Nakonfigurujte výchozí organizaci pomocí az devops configure -d organization=ORG_URL . Vyžaduje se, pokud není nakonfigurovaný jako výchozí nebo byl vyzvednutý pomocí git config . Příklad: --org https://dev.azure.com/MyOrganizationName/.
  • projekt: název nebo ID projektu. Nakonfigurujte výchozí projekt pomocí az devops configure -d project=NAME_OR_ID . Vyžaduje se, pokud není nakonfigurovaný jako výchozí nebo byl vyzvednutý pomocí git config .

Příklad

Následující příkaz vypíše všechny proměnné ve skupině proměnných s ID 4 a zobrazí výsledek ve formátu tabulky.

az pipelines variable-group variable list --group-id 4 --output table

Name            Is Secret    Value
--------------  -----------  -----------
app-location    False        Head_Office
app-name        False        Fabrikam
requires-login  False        True

Aktualizovat proměnné ve skupině proměnných

Aktualizujte proměnnou ve skupině proměnných pomocí příkazu AZ Pipelines Variable-Group Variable Update . pokud je rozšíření Azure DevOps pro rozhraní příkazového řádku nové, přečtěte si téma začínáme s Azure DevOps CLI.

az pipelines variable-group variable update --group-id
                                            --name
                                            [--new-name]
                                            [--org]
                                            [--project]
                                            [--prompt-value {false, true}]
                                            [--secret {false, true}]
                                            [--value]

Parametry

  • ID skupiny: povinné. ID skupiny proměnných ID skupiny proměnných najdete v tématu seznam proměnných skupin.
  • název: povinné. Název proměnné, kterou přidáváte.
  • New-name: volitelné. Zadejte, chcete-li změnit název proměnné.
  • org: Azure DevOps adresa URL organizace. Nakonfigurujte výchozí organizaci pomocí az devops configure -d organization=ORG_URL . Vyžaduje se, pokud není nakonfigurovaný jako výchozí nebo byl vyzvednutý pomocí git config . Příklad: --org https://dev.azure.com/MyOrganizationName/.
  • projekt: název nebo ID projektu. Nakonfigurujte výchozí projekt pomocí az devops configure -d project=NAME_OR_ID . Vyžaduje se, pokud není nakonfigurovaný jako výchozí nebo byl vyzvednutý pomocí git config .
  • prompt-Value: nastavte na hodnotu true , pokud chcete aktualizovat hodnotu tajné proměnné pomocí proměnné prostředí nebo Dotázat se přes standardní vstup. Přijaté hodnoty jsou false a true.
  • tajný kód: volitelné. Určuje, zda je hodnota proměnné udržována v tajnosti. Přijaté hodnoty jsou false a true.
  • hodnota: aktualizuje hodnotu proměnné. V případě tajných proměnných použijte parametr prompt-Value , který se zobrazí jako výzva k jeho zadání přes standardní vstup. U neinteraktivních konzol je možné ji vybrat z proměnné prostředí s předponou AZURE_DEVOPS_EXT_PIPELINE_VAR_ . Například proměnná s názvem MySecret může být vstupem pomocí proměnné prostředí .

Příklad

Následující příkaz aktualizuje proměnnou vyžaduje-přihlášení s novou hodnotou false ve skupině proměnných s ID 4. Určuje, že proměnná je tajná a ukazuje výsledek ve formátu YAML. Všimněte si, že výstup zobrazuje hodnotu null namísto hodnoty false , protože se jedná o skrytou skrytou hodnotu.

az pipelines variable-group variable update --group-id 4 --name requires-login --value False --secret true --output yaml

requires-login:
  isSecret: true
  value: null

Odstranění proměnných ze skupiny proměnných

Odstraňte proměnnou ze skupiny proměnných pomocí příkazu AZ Pipelines Variable-Group Delete . pokud je rozšíření Azure DevOps pro rozhraní příkazového řádku nové, přečtěte si téma začínáme s Azure DevOps CLI.

az pipelines variable-group variable delete --group-id
                                            --name
                                            [--org]
                                            [--project]
                                            [--yes]

Parametry

  • ID skupiny: povinné. ID skupiny proměnných ID skupiny proměnných najdete v tématu seznam proměnných skupin.
  • název: povinné. Název proměnné, kterou odstraňujete.
  • org: Azure DevOps adresa URL organizace. Nakonfigurujte výchozí organizaci pomocí az devops configure -d organization=ORG_URL . Vyžaduje se, pokud není nakonfigurovaný jako výchozí nebo byl vyzvednutý pomocí git config . Příklad: --org https://dev.azure.com/MyOrganizationName/.
  • projekt: název nebo ID projektu. Nakonfigurujte výchozí projekt pomocí az devops configure -d project=NAME_OR_ID . Vyžaduje se, pokud není nakonfigurovaný jako výchozí nebo byl vyzvednutý pomocí git config .
  • Ano: volitelné. Nezobrazuje výzvu k potvrzení.

Příklad

Následující příkaz odstraní proměnnou vyžaduje přihlášení ze skupiny proměnných s ID 4 a zobrazí výzvu k potvrzení.

az pipelines variable-group variable delete --group-id 4 --name requires-login

Are you sure you want to delete this variable? (y/n): y
Deleted variable 'requires-login' successfully.

Propojit existující Trezor klíčů Azure se skupinou proměnných a mapovat tajné klíče selektivního trezoru na skupinu proměnných.

  1. Na stránce skupiny proměnných povolte propojení tajných klíčů z trezoru klíčů Azure jako proměnných. Budete potřebovat existující Trezor klíčů obsahující vaše tajné kódy. Vytvořte Trezor klíčů pomocí Azure Portal.

    Skupina proměnných s integrací služby Azure Key trezor

  2. Zadejte koncový bod předplatného Azure a název trezoru obsahujícího vaše tajná klíč.

    Ujistěte se, že připojení služby Azure má k trezoru alespoň oprávnění k získání a zobrazení seznamu pro tajné klíče. povolením Azure Pipelines nastavit tato oprávnění výběrem možnosti autorizovat vedle názvu trezoru. Nebo nastavte oprávnění ručně v Azure Portal:

    1. otevřete Nastavení pro trezor a pak zvolte zásady přístupupřidat nový.
    2. Vyberte Vyberte objekt zabezpečení a pak zvolte instanční objekt pro váš klientský účet.
    3. Vyberte oprávnění tajného kódu a ujistěte se, že zaškrtnutí políčka získat a seznam obsahuje.
    4. Kliknutím na tlačítko OK uložte změny.
  3. Na stránce skupiny proměnných vyberte + Přidat a vyberte konkrétní tajné klíče z vašeho trezoru pro mapování na tuto skupinu proměnných.

Správa tajných kódů

Přečtěte si následující seznam užitečných tipů pro správu tajných klíčů.

  • Pouze tajné názvy jsou mapovány na skupinu proměnných, nikoli na tajné hodnoty. V běhu kanálu, který je propojený se skupinou proměnných, se použije nejnovější tajná hodnota načtená z trezoru.

  • Všechny změny provedené u stávajících tajných klíčů v trezoru klíčů jsou automaticky dostupné všem kanálům, které se používají ve skupině proměnných.

  • Při přidání nebo odstranění nových tajných klíčů z trezoru se skupiny přidružených proměnných automaticky neaktualizují. Tajné kódy zahrnuté ve skupině proměnných je nutné explicitně aktualizovat, aby se kanály, které používají skupinu proměnných, spouštěly správně.

  • Azure Key Vault podporuje ukládání a správu kryptografických klíčů a tajných klíčů v Azure. V současné Azure Pipelines skupin proměnných podporuje mapování pouze tajných kódů z trezoru klíčů Azure. Kryptografické klíče a certifikáty nejsou podporované.

Rozbalení proměnných ve skupině

Když nastavíte proměnnou ve skupině a použijete ji v souboru YAML, bude se rovnat jiným definovaným proměnným v souboru YAML. Další informace o prioritě proměnných najdete v tématu Proměnné.

YAML se v TFS nepodporuje.