Dodawanie & grup zmiennych użycia
| usługi Azure DevOps Services Azure DevOps Server 2020 | Usługa Azure DevOps Server 2019 | TFS 2018
Grupy zmiennych przechowują wartości i wpisy tajne, które można przekazać do potoku YAML lub udostępnić w wielu potokach. Grupy zmiennych można udostępniać i używać w wielu potokach w tym samym projekcie.
Grupy zmiennych są zasobami chronionymi. Możesz dodać zatwierdzenia i kontrole do tych zmiennych i ustawić uprawnienia potoku.
Uwaga
W programie Microsoft Team Foundation Server (TFS) 2018 i poprzednich wersjach potoki kompilacji i wydania są nazywane definicjami, uruchomienia są nazywane kompilacjami, połączenia usługi są nazywane punktami końcowymi usługi, etapami są nazywane środowiskami, a zadania są nazywane fazami.
Tworzenie grupy zmiennych
Nie można tworzyć grup zmiennych w języku YAML, ale można ich używać zgodnie z opisem w temacie Używanie grupy zmiennych.
Używanie grupy zmiennych
Aby użyć zmiennej z grupy zmiennych, dodaj odwołanie do grupy w pliku YAML:
variables:
- group: my-variable-group
Następnie zmienne z grupy zmiennych mogą być używane w pliku YAML.
Jeśli używasz zarówno zmiennych, jak i grup zmiennych, użyj name/value składni dla poszczególnych zmiennych niezgrupowanych:
variables:
- group: my-variable-group
- name: my-bare-variable
value: 'value of my-bare-variable'
Aby odwołać się do grupy zmiennych, użyj składni makr lub wyrażenia środowiska uruchomieniowego. W poniższym przykładzie grupa my-variable-group ma zmienną o nazwie 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)
W tym samym potoku można odwoływać się do wielu grup zmiennych. Jeśli wiele grup zmiennych zawiera tę samą zmienną, grupa zmiennych uwzględniona ostatnio w pliku YAML ustawia wartość zmiennej.
variables:
- group: my-first-variable-group
- group: my-second-variable-group
Można również odwoływać się do grupy zmiennych w szablonie. W szablonie variables.ymlgrupa my-variable-group jest przywołyowana. Grupa zmiennych zawiera zmienną o nazwie myhello.
# variables.yml
variables:
- group: my-variable-group
W tym potoku jest uwzględniona zmienna $(myhello) z grupy my-variable-group zmiennych i variables.yml jest przywołyowana.
# azure-pipeline.yml
stages:
- stage: MyStage
variables:
- template: variables.yml
jobs:
- job: Test
steps:
- script: echo $(myhello)
Autoryzowanie grupy zmiennych
Aby pracować z grupą zmiennych, musisz autoryzować grupę. Jeśli nazwasz grupę zmiennych tylko w języku YAML, każda osoba, która może wypchnąć kod do repozytorium, może wyodrębnić zawartość wpisów tajnych w grupie zmiennych. Aby autoryzować grupę, użyj jednej z następujących technik:
Aby autoryzować dowolny potok do korzystania z grupy zmiennych, przejdź do usługi Azure Pipelines. Może to być dobra opcja, jeśli nie masz żadnych wpisów tajnych w grupie. Wybierzpozycję Grupy zmiennychbiblioteki>, a następnie wybierz grupę zmiennych, których dotyczy pytanie, i włącz ustawienie Zezwalaj na dostęp do wszystkich potoków.
Aby autoryzować grupę zmiennych dla określonego potoku, otwórz potok, wybierz pozycję Edytuj, a następnie ręcznie utwórz kompilację w kolejce. Zostanie wyświetlony błąd autoryzacji zasobów i akcja "Autoryzuj zasoby" w błędzie. Wybierz tę akcję, aby jawnie dodać potok jako autoryzowanego użytkownika grupy zmiennych.
Uwaga
Jeśli dodasz grupę zmiennych do potoku i nie otrzymasz błędu autoryzacji zasobów w kompilacji, gdy oczekiwano tej grupy, wyłącz ustawienie Zezwalaj na dostęp do wszystkich potoków .
Kompilacje YAML nie są dostępne w programie TFS.
Uzyskaj dostęp do wartości zmiennych w połączonej grupie zmiennych w taki sam sposób, jak zmienne zdefiniowane w samym potoku.
Aby na przykład uzyskać dostęp do wartości zmiennej o nazwie customer w grupie zmiennych połączonej z potokiem, użyj $(customer) parametru zadania lub skryptu. Nie można jednak uzyskać dostępu do zmiennych wpisów tajnych (zaszyfrowanych zmiennych i zmiennych magazynu kluczy) bezpośrednio w skryptach — zamiast tego należy przekazać je jako argumenty do zadania. Aby uzyskać więcej informacji, zobacz wpisy tajne
Zmiany wprowadzone w grupie zmiennych są automatycznie dostępne dla wszystkich definicji lub etapów, z którymi grupa zmiennych jest połączona.
Wyświetlanie listy grup zmiennych
Użyj interfejsu wiersza polecenia, aby wyświetlić listę grup zmiennych dla przebiegów potoków za pomocą polecenia az pipelines variable-group list . Jeśli rozszerzenie usługi Azure DevOps dla interfejsu wiersza polecenia jest dla Ciebie nowe, zobacz Wprowadzenie do interfejsu wiersza polecenia usługi Azure DevOps.
az pipelines variable-group list [--action {manage, none, use}]
[--continuation-token]
[--group-name]
[--org]
[--project]
[--query-order {Asc, Desc}]
[--top]
Parametry opcjonalne
- akcja: określa akcję, którą można wykonać w grupach zmiennych. Akceptowane wartości są zarządzane, żadne i używane.
- token kontynuacji: wyświetla listę grup zmiennych po udostępnieniu tokenu kontynuacji.
- nazwa-grupy: nazwa grupy zmiennych. Akceptowane są symbole wieloznaczne, takie jak
new-var*. - org: Adres URL organizacji usługi Azure DevOps. Skonfiguruj domyślną organizację przy użyciu polecenia
az devops configure -d organization=ORG_URL. Wymagane, jeśli nie zostało skonfigurowane jako domyślne lub odebrane przy użyciu poleceniagit config. Przykład:--org https://dev.azure.com/MyOrganizationName/. - projekt: nazwa lub identyfikator projektu. Skonfiguruj projekt domyślny przy użyciu polecenia
az devops configure -d project=NAME_OR_ID. Wymagane, jeśli nie zostało skonfigurowane jako domyślne lub odebrane przy użyciu poleceniagit config. - query-order: wyświetla wyniki w kolejności rosnącej lub malejącej (domyślnej). Akceptowane wartości to Asc i Desc.
- top: liczba grup zmiennych do wyświetlenia.
Przykład
Poniższe polecenie wyświetla listę trzech pierwszych grup zmiennych w kolejności rosnącej i zwraca wyniki w formacie tabeli.
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
Pokaż szczegóły dla grupy zmiennych
Wyświetl szczegóły grupy zmiennych w projekcie za pomocą polecenia az pipelines variable-group show . Jeśli rozszerzenie usługi Azure DevOps dla interfejsu wiersza polecenia jest dla Ciebie nowe, zobacz Wprowadzenie do interfejsu wiersza polecenia usługi Azure DevOps.
az pipelines variable-group show --group-id
[--org]
[--project]
Parametry
- group-id: wymagane. Identyfikator grupy zmiennych. Aby znaleźć identyfikator grupy zmiennych, zobacz Wyświetlanie listy grup zmiennych.
- org: Adres URL organizacji usługi Azure DevOps. Skonfiguruj domyślną organizację przy użyciu polecenia
az devops configure -d organization=ORG_URL. Wymagane, jeśli nie zostało skonfigurowane jako domyślne lub odebrane przy użyciu poleceniagit config. Przykład:--org https://dev.azure.com/MyOrganizationName/. - projekt: nazwa lub identyfikator projektu. Skonfiguruj projekt domyślny przy użyciu polecenia
az devops configure -d project=NAME_OR_ID. Wymagane, jeśli nie zostało skonfigurowane jako domyślne lub odebrane przy użyciu poleceniagit config.
Przykład
Poniższe polecenie pokazuje szczegóły grupy zmiennych o identyfikatorze 4 i zwraca wyniki w formacie 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
Usuwanie grupy zmiennych
Usuń grupę zmiennych w projekcie za pomocą polecenia az pipelines variable-group delete . Jeśli rozszerzenie usługi Azure DevOps dla interfejsu wiersza polecenia jest dla Ciebie nowe, zobacz Wprowadzenie do interfejsu wiersza polecenia usługi Azure DevOps.
az pipelines variable-group delete --group-id
[--org]
[--project]
[--yes]
Parametry
- group-id: wymagane. Identyfikator grupy zmiennych. Aby znaleźć identyfikator grupy zmiennych, zobacz Wyświetlanie listy grup zmiennych.
- org: Adres URL organizacji usługi Azure DevOps. Skonfiguruj domyślną organizację przy użyciu polecenia
az devops configure -d organization=ORG_URL. Wymagane, jeśli nie zostało skonfigurowane jako domyślne lub odebrane przy użyciu poleceniagit config. Przykład:--org https://dev.azure.com/MyOrganizationName/. - projekt: nazwa lub identyfikator projektu. Skonfiguruj projekt domyślny przy użyciu polecenia
az devops configure -d project=NAME_OR_ID. Wymagane, jeśli nie zostało skonfigurowane jako domyślne lub odebrane przy użyciu poleceniagit config. - Tak: opcjonalnie. Nie wyświetla monitu o potwierdzenie.
Przykład
Następujące polecenie usuwa grupę zmiennych o identyfikatorze 1 i nie wyświetla monitu o potwierdzenie.
az pipelines variable-group delete --group-id 1 --yes
Deleted variable group successfully.
Dodawanie zmiennych do grupy zmiennych
Za pomocą interfejsu wiersza polecenia usługi Azure DevOps można dodać zmienną do grupy zmiennych w potoku za pomocą polecenia az pipelines variable-group variable create . Jeśli rozszerzenie usługi Azure DevOps dla interfejsu wiersza polecenia jest dla Ciebie nowe, zobacz Wprowadzenie do interfejsu wiersza polecenia usługi Azure DevOps.
az pipelines variable-group variable create --group-id
--name
[--org]
[--project]
[--secret {false, true}]
[--value]
Parametry
- group-id: wymagane. Identyfikator grupy zmiennych. Aby znaleźć identyfikator grupy zmiennych, zobacz Wyświetlanie listy grup zmiennych.
- name: Wymagane. Nazwa dodawanej zmiennej.
- org: Adres URL organizacji usługi Azure DevOps. Skonfiguruj domyślną organizację przy użyciu polecenia
az devops configure -d organization=ORG_URL. Wymagane, jeśli nie zostało skonfigurowane jako domyślne lub odebrane przy użyciu poleceniagit config. Przykład:--org https://dev.azure.com/MyOrganizationName/. - projekt: nazwa lub identyfikator projektu. Skonfiguruj projekt domyślny przy użyciu polecenia
az devops configure -d project=NAME_OR_ID. Wymagane, jeśli nie zostało skonfigurowane jako domyślne lub odebrane przy użyciu poleceniagit config. - wpis tajny: opcjonalnie. Wskazuje, czy wartość zmiennej jest wpisem tajnym. Akceptowane wartości to false i true.
- wartość: wymagana dla zmiennej niebędącej wpisem tajnym. Wartość zmiennej. W przypadku zmiennych tajnych, jeśli parametr wartości nie jest podany, jest wybierany ze zmiennej środowiskowej z prefiksem
AZURE_DEVOPS_EXT_PIPELINE_VAR_lub użytkownik jest monitowany o wprowadzenie go za pośrednictwem standardowych danych wejściowych. Na przykład zmienną o nazwie MySecret można wprowadzić przy użyciu zmiennej środowiskowejAZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret.
Przykład
Następujące polecenie tworzy zmienną w grupie zmiennych o identyfikatorze 4. Nowa zmienna ma nazwę requires-login i ma wartość True, a wynik jest wyświetlany w formacie tabeli.
az pipelines variable-group variable create --group-id 4 --name requires-login --value True --output table
Name Is Secret Value
-------------- ----------- -------
requires-login False True
Wyświetlanie listy zmiennych w grupie zmiennych
Zmienne można wyświetlić w grupie zmiennych za pomocą polecenia az pipelines variable-group list . Jeśli rozszerzenie usługi Azure DevOps dla interfejsu wiersza polecenia jest dla Ciebie nowe, zobacz Wprowadzenie do interfejsu wiersza polecenia usługi Azure DevOps.
az pipelines variable-group variable list --group-id
[--org]
[--project]
Parametry
- group-id: wymagane. Identyfikator grupy zmiennych. Aby znaleźć identyfikator grupy zmiennych, zobacz Wyświetlanie listy grup zmiennych.
- org: adres URL organizacji usługi Azure DevOps. Skonfiguruj domyślną organizację przy użyciu polecenia
az devops configure -d organization=ORG_URL. Wymagane, jeśli wartość domyślna nie jest skonfigurowana lub wybrana przy użyciu poleceniagit config. Przykład:--org https://dev.azure.com/MyOrganizationName/. - projekt: nazwa lub identyfikator projektu. Skonfiguruj projekt domyślny przy użyciu polecenia
az devops configure -d project=NAME_OR_ID. Wymagane, jeśli wartość domyślna nie jest skonfigurowana lub wybrana przy użyciu poleceniagit config.
Przykład
Poniższe polecenie wyświetla listę wszystkich zmiennych w grupie zmiennych o identyfikatorze 4 i pokazuje wynik w formacie tabeli.
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
Aktualizowanie zmiennych w grupie zmiennych
Zaktualizuj zmienną w grupie zmiennych za pomocą polecenia az pipelines variable-group update . Jeśli rozszerzenie usługi Azure DevOps dla interfejsu wiersza polecenia jest dla Ciebie nowe, zobacz Wprowadzenie do interfejsu wiersza polecenia usługi Azure DevOps.
az pipelines variable-group variable update --group-id
--name
[--new-name]
[--org]
[--project]
[--prompt-value {false, true}]
[--secret {false, true}]
[--value]
Parametry
- group-id: wymagane. Identyfikator grupy zmiennych. Aby znaleźć identyfikator grupy zmiennych, zobacz Wyświetlanie listy grup zmiennych.
- name: Wymagane. Nazwa dodawanej zmiennej.
- nowa nazwa: opcjonalne. Określ, aby zmienić nazwę zmiennej.
- org: adres URL organizacji usługi Azure DevOps. Skonfiguruj domyślną organizację przy użyciu polecenia
az devops configure -d organization=ORG_URL. Wymagane, jeśli wartość domyślna nie jest skonfigurowana lub wybrana przy użyciu poleceniagit config. Przykład:--org https://dev.azure.com/MyOrganizationName/. - projekt: nazwa lub identyfikator projektu. Skonfiguruj projekt domyślny przy użyciu polecenia
az devops configure -d project=NAME_OR_ID. Wymagane, jeśli wartość domyślna nie jest skonfigurowana lub wybrana przy użyciu poleceniagit config. - prompt-value: ustaw wartość true , aby zaktualizować wartość zmiennej tajnej przy użyciu zmiennej środowiskowej lub monitu za pośrednictwem standardowych danych wejściowych. Akceptowane wartości to false i true.
- wpis tajny: opcjonalne. Wskazuje, czy wartość zmiennej jest przechowywana w tajemnicy. Akceptowane wartości to false i true.
- value: aktualizuje wartość zmiennej. W przypadku zmiennych tajnych użyj parametru prompt-value , aby wyświetlić monit o wprowadzenie go za pośrednictwem standardowych danych wejściowych. W przypadku konsoli nieinterakcyjnych można ją wybrać z zmiennej środowiskowej z prefiksem
AZURE_DEVOPS_EXT_PIPELINE_VAR_. Na przykład zmienną o nazwie MySecret można wprowadzić przy użyciu zmiennej środowiskowejAZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret.
Przykład
Następujące polecenie aktualizuje zmienną wymaga logowania z nową wartością False w grupie zmiennych o identyfikatorze 4. Określa, że zmienna jest wpisem tajnym i pokazuje wynik w formacie YAML. Zwróć uwagę, że dane wyjściowe pokazują wartość null zamiast wartości False , ponieważ jest to ukryta wartość wpisu tajnego.
az pipelines variable-group variable update --group-id 4 --name requires-login --value False --secret true --output yaml
requires-login:
isSecret: true
value: null
Usuwanie zmiennych z grupy zmiennych
Usuń zmienną z grupy zmiennych za pomocą polecenia az pipelines variable-group delete . Jeśli rozszerzenie usługi Azure DevOps dla interfejsu wiersza polecenia jest dla Ciebie nowe, zobacz Wprowadzenie do interfejsu wiersza polecenia usługi Azure DevOps.
az pipelines variable-group variable delete --group-id
--name
[--org]
[--project]
[--yes]
Parametry
- group-id: wymagane. Identyfikator grupy zmiennych. Aby znaleźć identyfikator grupy zmiennych, zobacz Wyświetlanie listy grup zmiennych.
- name: Wymagane. Nazwa usuniętej zmiennej.
- org: adres URL organizacji usługi Azure DevOps. Skonfiguruj domyślną organizację przy użyciu polecenia
az devops configure -d organization=ORG_URL. Wymagane, jeśli wartość domyślna nie jest skonfigurowana lub wybrana przy użyciu poleceniagit config. Przykład:--org https://dev.azure.com/MyOrganizationName/. - projekt: nazwa lub identyfikator projektu. Skonfiguruj projekt domyślny przy użyciu polecenia
az devops configure -d project=NAME_OR_ID. Wymagane, jeśli wartość domyślna nie jest skonfigurowana lub wybrana przy użyciu poleceniagit config. - Tak: opcjonalne. Nie monituje o potwierdzenie.
Przykład
Następujące polecenie usuwa zmienną wymaga logowania z grupy zmiennych o identyfikatorze 4 i monituje o potwierdzenie.
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.
Łączenie wpisów tajnych z magazynu kluczy platformy Azure
Połącz istniejący magazyn kluczy platformy Azure z grupą zmiennych i zamapuj wpisy tajne selektywnego magazynu na grupę zmiennych.
Na stronie Grupy zmiennych włącz opcję Połącz wpisy tajne z magazynu kluczy platformy Azure jako zmienne. Będziesz potrzebować istniejącego magazynu kluczy zawierającego wpisy tajne. Utwórz magazyn kluczy przy użyciu witryny Azure Portal.

Określ punkt końcowy subskrypcji platformy Azure i nazwę magazynu zawierającego wpisy tajne.
Upewnij się, że połączenie usługi platformy Azure ma co najmniej uprawnienia do zarządzania pobieraniem i wyświetlaniem listy w magazynie dla wpisów tajnych. Włącz usługę Azure Pipelines, aby ustawić te uprawnienia, wybierając pozycję Autoryzuj obok nazwy magazynu. Możesz też ustawić uprawnienia ręcznie w witrynie Azure Portal:
- Otwórz pozycję Ustawienia dla magazynu, a następnie wybierz pozycję Zasady> dostępuDodaj nowe.
- Wybierz pozycję Wybierz jednostkę główną, a następnie wybierz jednostkę usługi dla konta klienta.
- Wybierz pozycję Uprawnienia wpisu tajnego i upewnij się, że opcje Pobierz i Lista mają znaczniki wyboru.
- Wybierz przycisk OK , aby zapisać zmiany.
Na stronie Grupy zmiennych wybierz pozycję + Dodaj , aby wybrać określone wpisy tajne z magazynu do mapowania na tę grupę zmiennych.
Zarządzanie wpisami tajnymi magazynu kluczy
Zapoznaj się z poniższą listą przydatnych wskazówek dotyczących zarządzania wpisami tajnymi.
Tylko nazwy wpisów tajnych są mapowane do grupy zmiennych, a nie wartości wpisów tajnych. Najnowsza wartość wpisu tajnego pobrana z magazynu jest używana w przebiegu potoku połączonym z grupą zmiennych.
Wszelkie zmiany wprowadzone w istniejących wpisach tajnych w magazynie kluczy są automatycznie dostępne dla wszystkich potoków używanych w grupie zmiennych.
Po dodaniu lub usunięciu nowych wpisów tajnych z magazynu skojarzone grupy zmiennych nie są automatycznie aktualizowane. Wpisy tajne zawarte w grupie zmiennych muszą zostać jawnie zaktualizowane, aby potoki korzystające z grupy zmiennych były wykonywane poprawnie.
Usługa Azure Key Vault obsługuje przechowywanie kluczy kryptograficznych i wpisów tajnych oraz zarządzanie nimi na platformie Azure. Obecnie integracja grupy zmiennych usługi Azure Pipelines obsługuje mapowanie tylko wpisów tajnych z magazynu kluczy platformy Azure. Klucze kryptograficzne i certyfikaty nie są obsługiwane.
Rozwijanie zmiennych w grupie
Po ustawieniu zmiennej w grupie i użyciu jej w pliku YAML jest ona równa innym zdefiniowanym zmiennym w pliku YAML. Aby uzyskać więcej informacji na temat pierwszeństwa zmiennych, zobacz Zmienne.
Język YAML nie jest obsługiwany w programie TFS.


