Udostępnij za pośrednictwem


Zarządzanie grupami zmiennych

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

W tym artykule wyjaśniono, jak tworzyć i używać grup zmiennych w usłudze Azure Pipelines. Grupy zmiennych przechowują wartości i wpisy tajne, które można przekazać do potoku YAML lub udostępnić w wielu potokach w projekcie.

Zmienne tajne w grupach zmiennych są zasobami chronionymi. Możesz dodawać kombinacje zatwierdzeń, kontroli i uprawnień potoku, aby ograniczyć dostęp do zmiennych tajnych w grupie zmiennych. Dostęp do zmiennych niezabezpieczonych nie jest ograniczony przez zatwierdzenia, kontrole ani uprawnienia potoku.

Grupy zmiennych są zgodne z modelem zabezpieczeń biblioteki dla ról i uprawnień.

Wymagania wstępne

  • Organizacja i projekt usługi Azure DevOps Services, w którym masz uprawnienia do tworzenia potoków i zmiennych.
  • Projekt w organizacji usługi Azure DevOps lub kolekcji usługi Azure DevOps Server. Utwórz projekt , jeśli go nie masz.
  • Jeśli używasz interfejsu wiersza polecenia usługi Azure DevOps, potrzebujesz interfejsu wiersza polecenia platformy Azure w wersji 2.30.0 lub nowszej z rozszerzeniem interfejsu wiersza polecenia usługi Azure DevOps. Aby uzyskać więcej informacji, zobacz Wprowadzenie do interfejsu wiersza polecenia usługi Azure DevOps.
  • Kolekcja i projekt usługi Azure DevOps Server, w którym masz uprawnienia do tworzenia potoków i zmiennych.
  • Projekt w organizacji usługi Azure DevOps lub kolekcji usługi Azure DevOps Server. Utwórz projekt , jeśli go nie masz.

Konfigurowanie interfejsu wiersza polecenia

Jeśli używasz interfejsu wiersza polecenia usługi Azure DevOps, musisz skonfigurować interfejs wiersza polecenia do pracy z organizacją i projektem usługi Azure DevOps.

  1. Zaloguj się do organizacji usługi Azure DevOps przy użyciu polecenia az login .

    az login
    
  2. Jeśli zostanie wyświetlony monit, wybierz swoją subskrypcję z listy wyświetlanej w oknie terminalu.

  3. Upewnij się, że używasz najnowszej wersji interfejsu wiersza polecenia platformy Azure i rozszerzenia Usługi Azure DevOps, używając następujących poleceń.

    az upgrade
    az extension add --name azure-devops --upgrade
    
  4. W poleceniach interfejsu wiersza polecenia usługi Azure DevOps można ustawić domyślną organizację i projekt przy użyciu:

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

    Jeśli nie ustawiono domyślnej organizacji i projektu, możesz użyć parametru detect=true w poleceniach, aby automatycznie wykryć organizację i kontekst projektu na podstawie bieżącego katalogu. Jeśli wartości domyślne nie są skonfigurowane lub wykryte, musisz jawnie określić org parametry i project w poleceniach.

Tworzenie grupy zmiennych

Możesz utworzyć grupy zmiennych dla przebiegów potoku w projekcie.

Uwaga

Aby utworzyć grupę zmiennych tajnych w celu łączenia wpisów tajnych z magazynu kluczy platformy Azure jako zmiennych, postępuj zgodnie z instrukcjami w temacie Łączenie grupy zmiennych z wpisami tajnymi w usłudze Azure Key Vault.

  1. W projekcie usługi Azure DevOps wybierz pozycję Biblioteka potoków>z menu po lewej stronie.

  2. Na stronie Biblioteka wybierz pozycję + Grupa zmiennych.

    Zrzut ekranu przedstawiający ekran Biblioteka i przycisk Dodaj grupę zmiennych.

  3. Na nowej stronie grupy zmiennych w obszarze Właściwości wprowadź nazwę i opcjonalny opis grupy zmiennych.

  4. W obszarze Zmienne wybierz pozycję + Dodaj, a następnie wprowadź nazwę zmiennej i wartość do uwzględnienia w grupie. Jeśli chcesz zaszyfrować i bezpiecznie zapisać wartość, wybierz ikonę blokady obok zmiennej.

  5. Wybierz pozycję + Dodaj , aby dodać każdą nową zmienną. Po zakończeniu dodawania zmiennych wybierz pozycję Zapisz.

    Zrzut ekranu przedstawiający konfigurowanie i zapisywanie grupy zmiennych.

Teraz możesz użyć tej grupy zmiennych w potokach projektu.

Aktualizowanie grup zmiennych

Grupy zmiennych można aktualizować przy użyciu interfejsu użytkownika usługi Azure Pipelines.

  1. W projekcie usługi Azure DevOps wybierz pozycję Biblioteka potoków>z menu po lewej stronie.
  2. Na stronie Biblioteka wybierz grupę zmiennych, którą chcesz zaktualizować. Możesz również umieścić kursor na liście grup zmiennych, wybrać ikonę Więcej opcji i wybrać pozycję Edytuj z menu.
  3. Na stronie grupy zmiennych zmień dowolne właściwości, a następnie wybierz pozycję Zapisz.

Usuwanie grupy zmiennych

Grupy zmiennych można usunąć w interfejsie użytkownika usługi Azure Pipelines.

  1. W projekcie usługi Azure DevOps wybierz pozycję Biblioteka potoków>z menu po lewej stronie.
  2. Na stronie Biblioteka umieść kursor nad grupą zmiennych, którą chcesz usunąć, i wybierz ikonę Więcej opcji.
  3. Wybierz pozycję Usuń z menu, a następnie wybierz pozycję Usuń na ekranie potwierdzenia.

Zarządzanie zmiennymi w grupach zmiennych

Zmienne można zmieniać, dodawać lub usuwać w grupach zmiennych przy użyciu interfejsu użytkownika usługi Azure Pipelines.

  1. W projekcie usługi Azure DevOps wybierz pozycję Biblioteka potoków>z menu po lewej stronie.
  2. Na stronie Biblioteka wybierz grupę zmiennych, którą chcesz zaktualizować. Możesz również umieścić kursor na liście grup zmiennych, wybrać ikonę Więcej opcji i wybrać pozycję Edytuj z menu.
  3. Na stronie grupy zmiennych można wykonywać następujące czynności:
    • Zmień dowolną z nazw zmiennych lub wartości.
    • Usuń dowolne zmienne, wybierając ikonę kosza na śmieci obok nazwy zmiennej.
    • Zmień zmienne na tajne lub niezabezpieczone, wybierając ikonę blokady obok wartości zmiennej.
    • Dodaj nowe zmienne, wybierając pozycję + Dodaj.
  4. Po wprowadzeniu zmian wybierz pozycję Zapisz.

Używanie grup zmiennych w potokach

Grupy zmiennych można używać w potokach YAML lub klasycznych. Zmiany wprowadzone w grupie zmiennych są automatycznie dostępne dla wszystkich definicji lub etapów, z którymi jest połączona grupa zmiennych.

Jeśli nazwisz grupę zmiennych tylko w potokach YAML, każdy, kto może wypchnąć kod do repozytorium, może wyodrębnić zawartość wpisów tajnych w grupie zmiennych. W związku z tym, aby używać grupy zmiennych z potokami YAML, należy autoryzować potok do korzystania z grupy. Potok można autoryzować do używania grupy zmiennych w interfejsie użytkownika usługi Azure Pipelines lub przy użyciu interfejsu wiersza polecenia usługi Azure DevOps.

Autoryzacja za pośrednictwem interfejsu użytkownika potoków

Potoki można autoryzować do używania grup zmiennych przy użyciu interfejsu użytkownika usługi Azure Pipelines.

  1. W projekcie usługi Azure DevOps wybierz pozycję Biblioteka potoków>z menu po lewej stronie.
  2. Na stronie Biblioteka wybierz grupę zmiennych, którą chcesz autoryzować.
  3. Na stronie grupy zmiennych wybierz kartę Uprawnienia potoku.
  4. Na ekranie Uprawnienia potoku wybierz + pozycję, a następnie wybierz potok do autoryzowania. Możesz też wybrać ikonę Więcej akcji , wybrać pozycję Otwórz dostęp i ponownie wybrać pozycję Otwórz dostęp , aby potwierdzić.

Wybranie potoku autoryzuje ten potok do korzystania z grupy zmiennych. Aby autoryzować inny potok, wybierz ponownie ikonę + . Wybranie pozycji Otwórz dostęp autoryzuje wszystkie potoki projektu do korzystania z grupy zmiennych. Otwarty dostęp może być dobrym rozwiązaniem, jeśli nie masz żadnych wpisów tajnych w grupie.

Innym sposobem autoryzowania grupy zmiennych jest wybranie potoku, wybranie pozycji Edytuj, a następnie ręczne utworzenie kolejki. Zostanie wyświetlony błąd autoryzacji zasobów i można jawnie dodać potok jako autoryzowanego użytkownika grupy zmiennych.

Autoryzacja za pośrednictwem interfejsu wiersza polecenia usługi Azure DevOps

W usłudze Azure DevOps Services można autoryzować grupy zmiennych przy użyciu interfejsu wiersza polecenia usługi Azure DevOps.

Polecenia interfejsu wiersza polecenia usługi Azure DevOps nie są obsługiwane w przypadku usługi Azure DevOps Server.

Aby autoryzować wszystkie potoki projektu do używania grupy zmiennych, ustaw authorize parametr w poleceniu az pipelines variable-group create na truewartość . Ten otwarty dostęp może być dobrym rozwiązaniem, jeśli nie masz żadnych wpisów tajnych w grupie.

Po autoryzacji potoku YAML do używania grupy zmiennych można użyć zmiennych w grupie w potoku.

Aby użyć zmiennych z grupy zmiennych, dodaj odwołanie do nazwy grupy w pliku potoku YAML.

variables:
- group: my-variable-group

W tym samym potoku można odwoływać się do wielu grup zmiennych. Jeśli wiele grup zmiennych zawiera zmienne o tej samej nazwie, ostatnia grupa zmiennych używająca zmiennej w pliku ustawia wartość zmiennej. Aby uzyskać więcej informacji na temat pierwszeństwa zmiennych, zobacz Rozszerzanie zmiennych.

Możesz również odwołać się do grupy zmiennych w szablonie. Poniższy plik szablonu variables.yml odwołuje się do grupy my-variable-groupzmiennych . Grupa zmiennych zawiera zmienną o nazwie myhello.

variables:
- group: my-variable-group

Potok YAML odwołuje się do szablonu variables.yml i używa zmiennej $(myhello) z grupy my-variable-groupzmiennych .

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

Używanie zmiennych w połączonej grupie zmiennych

Uzyskujesz dostęp do wartości zmiennych w połączonej grupie zmiennych w taki sam sposób, w jaki uzyskujesz dostęp do zmiennych zdefiniowanych w potoku. Aby na przykład uzyskać dostęp do wartości zmiennej o nazwie customer w grupie zmiennych połączonej z potokiem, można użyć $(customer) w parametrze zadania lub skrypsie.

Jeśli używasz zarówno zmiennych autonomicznych, jak i grup zmiennych w pliku potoku, użyj name-value składni dla zmiennych autonomicznych.

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

Aby odwołać się do zmiennej w grupie zmiennych, możesz użyć składni makr lub wyrażenia środowiska uruchomieniowego. W poniższych przykładach grupa my-variable-group ma zmienną o nazwie myhello.

Aby użyć wyrażenia środowiska uruchomieniowego:

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

Aby użyć składni makr:

variables:
- group: my-variable-group

steps:
- script: echo $(myhello)

Nie można uzyskać dostępu do zmiennych wpisów tajnych, w tym zaszyfrowanych zmiennych i zmiennych magazynu kluczy, bezpośrednio w skryptach. Te zmienne należy przekazać jako argumenty do zadania. Aby uzyskać więcej informacji, zobacz Zmienne tajne.