Udostępnij za pośrednictwem


Korzystanie z integracji kontroli źródła

Integracja kontroli źródła w usłudze Azure Automation obsługuje synchronizację jednokierunkową z repozytorium kontroli źródła. Kontrola źródła umożliwia aktualizowanie elementów Runbook na koncie usługi Azure Automation za pomocą skryptów w repozytorium kontroli źródła na platformie GitHub lub w usłudze Azure DevOps. Funkcja ta ułatwia promowanie kodu, który został przetestowany w środowisku deweloperskim na produkcyjnym koncie usługi Azure Automation.

Integracja kontroli źródła umożliwia łatwą współpracę z zespołem, śledzenie zmian i wycofywanie do wcześniejszych wersji elementów Runbook. Na przykład kontrola źródła umożliwia synchronizowanie różnych gałęzi w kontroli źródła przy użyciu kont programistycznych, testowych i produkcyjnych usługi Automation.

Uwaga

Zadania synchronizacji kontroli źródła są uruchamiane w ramach konta usługi Automation użytkownika i są rozliczane według tej samej stawki co inne zadania usługi Automation. Ponadto zadania usługi Azure Automation nie obsługują uwierzytelniania wieloskładnikowego (Multi-Factor Authentication).

Typy kontroli źródła

Usługa Azure Automation obsługuje trzy typy kontroli źródła:

  • GitHub
  • Azure DevOps (Git)
  • Azure DevOps (TFVC)

Wymagania wstępne

Uwaga

Usługa Azure Automation obsługuje zarówno przypisaną przez system, jak i przypisaną przez użytkownika tożsamość zarządzaną z integracją kontroli źródła. W przypadku korzystania z tożsamości zarządzanej przypisanej przez użytkownika utwórz zmienną AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID automatyzacji z wartością Identyfikator klienta tożsamości przypisanej przez użytkownika. Przypisana Managed Identity przez użytkownika powinna być włączona i mieć dostęp współautora do konta usługi Automation. Jeśli ta zmienna nie zostanie utworzona, domyślnie użyjemy tożsamości przypisanej przez system.

Zrzut ekranu przedstawiający tożsamość zarządzaną przypisaną przez użytkownika.

Jeśli masz włączone zarówno konto Uruchom jako, jak i tożsamość zarządzaną, tożsamość zarządzana otrzymuje preferencje.

Ważne

Konto Uruchom jako usługi Azure Automation zostało wycofane 30 września 2023 r. Zalecamy używanie tożsamości zarządzanych.

Uwaga

Zgodnie z tą dokumentacją usługi Azure DevOps dostęp do aplikacji innych firm za pośrednictwem zasad protokołu OAuth jest domyślnie wyłączony dla wszystkich nowych organizacji. Dlatego jeśli spróbujesz skonfigurować kontrolę źródła w usłudze Azure Automation przy użyciu usługi Azure DevOps (Git) jako typu kontroli źródła bez włączania dostępu do aplikacji innej firmy za pośrednictwem protokołu OAuth w obszarze Zasady kafelka Ustawienia organizacji w usłudze Azure DevOps, może zostać wyświetlony błąd SourceControl securityToken jest nieprawidłowy . W związku z tym, aby uniknąć tego błędu, upewnij się, że najpierw włączysz dostęp do aplikacji innej firmy za pośrednictwem protokołu OAuth w obszarze Zasady kafelka Ustawienia organizacji w usłudze Azure DevOps.

Konfigurowanie kontroli źródła

W tej sekcji opisano sposób konfigurowania kontroli źródła dla konta usługi Automation. Możesz użyć witryny Azure Portal lub programu PowerShell.

Przypisywanie tożsamości zarządzanej do roli Współautor

W tym przykładzie użyto programu Azure PowerShell, aby pokazać, jak przypisać rolę Współautor w subskrypcji do zasobu konta usługi Azure Automation.

  1. Otwórz konsolę programu PowerShell z podwyższonym poziomem uprawnień.

  2. Zaloguj się do platformy Azure, uruchamiając polecenie Connect-AzAccount.

  3. Aby przypisać tożsamość zarządzaną do roli Współautor , uruchom następujące polecenie.

    New-AzRoleAssignment `
        -ObjectId <automation-Identity-Object(Principal)-Id> `
        -Scope "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}" `
        -RoleDefinitionName "Contributor"
    

Konfigurowanie kontroli źródła w witrynie Azure Portal

Ta procedura służy do konfigurowania kontroli źródła przy użyciu witryny Azure Portal.

  1. Na koncie usługi Automation wybierz pozycję Kontrola źródła i kliknij przycisk Dodaj.

    Wybieranie kontroli źródła

  2. Wybierz typ kontroli źródła, a następnie kliknij pozycję Uwierzytelnij.

  3. Zostanie otwarte okno przeglądarki z monitem o zalogowanie się. Postępuj zgodnie z monitami, aby ukończyć uwierzytelnianie.

  4. Na stronie Podsumowanie kontroli źródła użyj pól, aby wypełnić właściwości kontroli źródła zdefiniowane poniżej. Kliknij przycisk Zapisz po zakończeniu.

    Właściwości opis
    Nazwa kontroli źródła Przyjazna nazwa kontrolki źródła. Ta nazwa musi zawierać tylko litery i cyfry.
    Typ kontroli źródła Typ mechanizmu kontroli źródła. Dostępne opcje to:
    * GitHub
    * Azure DevOps (Git)
    * Azure DevOps (TFVC)
    Repozytorium Nazwa repozytorium lub projektu. Pobierane są pierwsze 200 repozytoriów. Aby wyszukać repozytorium, wpisz nazwę w polu i kliknij pozycję Wyszukaj w witrynie GitHub.
    Oddział Gałąź, z której mają być pobierane pliki źródłowe. Określanie wartości docelowej gałęzi nie jest dostępne dla typu kontroli źródła tfVC.
    Folder path Folder zawierający elementy Runbook do synchronizacji, na przykład /Runbook. Synchronizowane są tylko elementy Runbook w określonym folderze. Rekursja nie jest obsługiwana.
    Automatyczna synchronizacja1 Ustawienie, które włącza lub wyłącza automatyczną synchronizację po zatwierdzeniu w repozytorium kontroli źródła lub repozytorium GitHub.
    Publikowanie elementu Runbook Ustawienie włączone, jeśli elementy Runbook są automatycznie publikowane po synchronizacji z kontroli źródła i w przeciwnym razie wyłączone.
    opis Tekst określający dodatkowe szczegóły kontroli źródła.

    1 Aby włączyć automatyczną synchronizację podczas konfigurowania integracji kontroli źródła z usługą Azure DevOps, musisz być administratorem projektu lub właścicielem repozytorium GitHub. Współpracownicy mogą konfigurować kontrolę źródła tylko bez automatycznej synchronizacji.
    Automatyczna synchronizacja nie działa z usługą Automation Private Link. Jeśli włączysz usługę Private Link, wywołania elementu webhook kontroli źródła zakończy się niepowodzeniem, ponieważ znajduje się poza siecią.

    Zrzut ekranu przedstawiający podsumowanie kontroli źródła.

Uwaga

  • Identyfikator logowania do repozytorium kontroli źródła może różnić się od identyfikatora logowania w witrynie Azure Portal. Upewnij się, że zalogowano się przy użyciu odpowiedniego konta dla repozytorium kontroli źródła podczas konfigurowania kontroli źródła. Jeśli istnieje wątpliwości, otwórz nową kartę w przeglądarce, wyloguj się z dev.azure.com, visualstudio.com lub github.com i spróbuj ponownie nawiązać połączenie z kontrolą źródła.
  • Uwierzytelnianie między dzierżawami nie jest obsługiwane.

Konfigurowanie kontroli źródła w programie PowerShell

Za pomocą programu PowerShell można również skonfigurować kontrolę źródła w usłudze Azure Automation. Aby użyć poleceń cmdlet programu PowerShell dla tej operacji, potrzebujesz osobistego tokenu dostępu (PAT). Użyj polecenia cmdlet New-AzAutomationSourceControl, aby utworzyć połączenie kontroli źródła. To polecenie cmdlet wymaga bezpiecznego ciągu dla patu. Aby dowiedzieć się, jak utworzyć bezpieczny ciąg, zobacz ConvertTo-SecureString.

Poniższe podsekcje ilustrują tworzenie połączenia kontroli źródła dla usług GitHub, Azure DevOps (Git) i Azure DevOps (TFVC).

Tworzenie połączenia kontroli źródła dla usługi GitHub

New-AzAutomationSourceControl -Name SCGitHub -RepoUrl https://github.com/<accountname>/<reponame>.git -SourceType GitHub -FolderPath "/MyRunbooks" -Branch main -AccessToken <secureStringofPAT> -ResourceGroupName <ResourceGroupName> -AutomationAccountName <AutomationAccountName>

Tworzenie połączenia kontroli źródła dla usługi Azure DevOps (Git)

Uwaga

Usługa Azure DevOps (Git) używa adresu URL, który uzyskuje dostęp do dev.azure.com zamiast visualstudio.com, używany we wcześniejszych formatach. Starszy format https://<accountname>.visualstudio.com/<projectname>/_git/<repositoryname> adresu URL jest przestarzały, ale nadal obsługiwany. Preferowany jest nowy format.

New-AzAutomationSourceControl -Name SCReposGit -RepoUrl https://dev.azure.com/<accountname>/<adoprojectname>/_git/<repositoryname> -SourceType VsoGit -AccessToken <secureStringofPAT> -Branch main -ResourceGroupName <ResourceGroupName> -AutomationAccountName <AutomationAccountName> -FolderPath "/Runbooks"

Tworzenie połączenia kontroli źródła dla usługi Azure DevOps (TFVC)

Uwaga

Usługa Azure DevOps (TFVC) używa adresu URL, który uzyskuje dostęp do dev.azure.com zamiast visualstudio.com, używany we wcześniejszych formatach. Starszy format https://<accountname>.visualstudio.com/<projectname>/_versionControl adresu URL jest przestarzały, ale nadal obsługiwany. Preferowany jest nowy format.

New-AzAutomationSourceControl -Name SCReposTFVC -RepoUrl https://dev.azure.com/<accountname>/<adoprojectname>/_git/<repositoryname> -SourceType VsoTfvc -AccessToken <secureStringofPAT> -ResourceGroupName <ResourceGroupName> -AutomationAccountName <AutomationAccountName> -FolderPath "/Runbooks"

Uprawnienia osobistego tokenu dostępu (PAT)

Kontrola źródła wymaga pewnych minimalnych uprawnień dla paT. Poniższe podsekcje zawierają minimalne uprawnienia wymagane dla usług GitHub i Azure DevOps.

Minimalne uprawnienia pat dla usługi GitHub

W poniższej tabeli zdefiniowano minimalne uprawnienia pat wymagane dla usługi GitHub. Aby uzyskać więcej informacji na temat tworzenia tokenu pat w usłudze GitHub, zobacz Tworzenie osobistego tokenu dostępu dla wiersza polecenia.

Scope opis
repo
repo:status Stan zatwierdzenia dostępu
repo_deployment Stan wdrożenia dostępu
public_repo Uzyskiwanie dostępu do repozytoriów publicznych
repo:invite Zaproszenia do repozytorium dostępu
security_events Odczytywanie i zapisywanie zdarzeń zabezpieczeń
admin:repo_hook
write:repo_hook Zapisywanie punktów zaczepienia repozytorium
read:repo_hook Odczytywanie punktów zaczepienia repozytorium
Minimalne uprawnienia pat dla usługi Azure DevOps

Poniższa lista definiuje minimalne uprawnienia pat wymagane dla usługi Azure DevOps. Aby uzyskać więcej informacji na temat tworzenia tokenu dostępu warunkowego w usłudze Azure DevOps, zobacz Uwierzytelnianie dostępu przy użyciu osobistych tokenów dostępu.

Scope Typ dostępu
Code Przeczytaj
Project and team Odczyt
Identity Odczyt
User profile Odczyt
Work items Przeczytaj
Service connections Odczyt, wykonywanie zapytań, zarządzanie1

1 Uprawnienie Service connections jest wymagane tylko wtedy, gdy włączono automatyczną synchronizację.

Synchronizowanie z kontrolą źródła

Wykonaj następujące kroki, aby zsynchronizować się z kontrolą źródła.

  1. Wybierz źródło z tabeli na stronie Kontrola źródła.

  2. Kliknij przycisk Rozpocznij synchronizację , aby rozpocząć proces synchronizacji.

  3. Wyświetl stan bieżącego zadania synchronizacji lub poprzednich, klikając kartę Zadania synchronizacji .

  4. W menu rozwijanym Kontrola źródła wybierz mechanizm kontroli źródła.

    Stan synchronizacji

  5. Kliknięcie zadania umożliwia wyświetlenie danych wyjściowych zadania. Poniższy przykład to dane wyjściowe zadania synchronizacji kontroli źródła.

    ===================================================================
    
    Azure Automation Source Control.
    Supported runbooks to sync: PowerShell Workflow, PowerShell Scripts, DSC Configurations, Graphical, and Python 2.
    
    Setting AzEnvironment.
    
    Getting AzureRunAsConnection.
    
    Logging in to Azure...
    
    Source control information for syncing:
    
    [Url = https://ContosoExample.visualstudio.com/ContosoFinanceTFVCExample/_versionControl] [FolderPath = /Runbooks]
    
    Verifying url: https://ContosoExample.visualstudio.com/ContosoFinanceTFVCExample/_versionControl
    
    Connecting to VSTS...
    
    Source Control Sync Summary:
    
    2 files synced:
     - ExampleRunbook1.ps1
     - ExampleRunbook2.ps1
    
    ==================================================================
    
    
  6. Dodatkowe rejestrowanie jest dostępne, wybierając pozycję Wszystkie dzienniki na stronie Podsumowanie zadania synchronizacji kontroli źródła. Te dodatkowe wpisy dziennika mogą pomóc w rozwiązywaniu problemów, które mogą wystąpić podczas korzystania z kontroli źródła.

Rozłącz kontrolę źródła

Aby odłączyć się od repozytorium kontroli źródła:

  1. Otwórz kontrolę źródła w obszarze Ustawienia konta na koncie usługi Automation.

  2. Wybierz mechanizm kontroli źródła, który chcesz usunąć.

  3. Na stronie Podsumowanie kontroli źródła kliknij pozycję Usuń.

Obsługa problemów z kodowaniem

Jeśli wiele osób edytuje elementy Runbook w repozytorium kontroli źródła przy użyciu różnych edytorów, mogą wystąpić problemy z kodowaniem. Aby dowiedzieć się więcej na temat tej sytuacji, zobacz Typowe przyczyny problemów z kodowaniem.

Aktualizowanie tokenu dostępu

Obecnie nie można użyć witryny Azure Portal do zaktualizowania tokenu dostępu w kontroli źródła. Po wygaśnięciu lub odwołaniu tokenu dostępu można zaktualizować kontrolę źródła przy użyciu nowego tokenu dostępu w jeden z następujących sposobów:

Następne kroki