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
- Repozytorium kontroli źródła (usługa GitHub lub Azure DevOps)
- Konto usługi Automation wymaga tożsamości zarządzanej przypisanej przez system lub przypisanej przez użytkownika. Jeśli tożsamość zarządzana nie jest skonfigurowana przy użyciu konta usługi Automation, zobacz Włączanie tożsamości zarządzanej przypisanej przez system lub włączanie tożsamości zarządzanej przypisanej przez użytkownika w celu jej utworzenia.
- Przypisz przypisaną przez użytkownika lub przypisaną przez system tożsamość zarządzaną do roli Współautor na koncie usługi Automation.
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.
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.
Otwórz konsolę programu PowerShell z podwyższonym poziomem uprawnień.
Zaloguj się do platformy Azure, uruchamiając polecenie
Connect-AzAccount
.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.
Na koncie usługi Automation wybierz pozycję Kontrola źródła i kliknij przycisk Dodaj.
Wybierz typ kontroli źródła, a następnie kliknij pozycję Uwierzytelnij.
Zostanie otwarte okno przeglądarki z monitem o zalogowanie się. Postępuj zgodnie z monitami, aby ukończyć uwierzytelnianie.
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ą.
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.
Wybierz źródło z tabeli na stronie Kontrola źródła.
Kliknij przycisk Rozpocznij synchronizację , aby rozpocząć proces synchronizacji.
Wyświetl stan bieżącego zadania synchronizacji lub poprzednich, klikając kartę Zadania synchronizacji .
W menu rozwijanym Kontrola źródła wybierz mechanizm kontroli źródła.
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 ==================================================================
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:
Otwórz kontrolę źródła w obszarze Ustawienia konta na koncie usługi Automation.
Wybierz mechanizm kontroli źródła, który chcesz usunąć.
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:
- Użyj interfejsu API REST.
- Użyj polecenia cmdlet Update-AzAutomationSourceControl.
Następne kroki
- Aby zintegrować kontrolę źródła elementu Runbook z usługą Visual Studio Codespaces, zobacz Azure Automation: Integrowanie kontroli źródła elementu Runbook przy użyciu usługi Visual Studio Codespaces.