Freigeben über


Verwenden der Integration der Quellcodeverwaltung

Bei der Integration der Quellcodeverwaltung in Azure Automation wird die unidirektionale Synchronisierung aus Ihrem Repository der Quellcodeverwaltung unterstützt. Mit der Quellcodeverwaltung halten Sie die Runbooks in Ihrem Automation-Konto auf demselben aktuellen Stand wie Skripts in der Quellcodeverwaltung Ihres GitHub- oder Azure Repos-Repositorys. Mit dieser Funktion ist es einfach, Code, der in Ihrer Entwicklungsumgebung getestet wurde, in Ihr Automation-Produktionskonto höher zu stufen.

Mithilfe der Integration der Quellcodeverwaltung können Sie einfach mit Ihrem Team zusammenarbeiten, Änderungen nachverfolgen und Ihre Runbooks auf frühere Versionen zurücksetzen. Mit der Quellcodeverwaltung können Sie beispielsweise verschiedene Verzweigungen in der Quellcodeverwaltung mit Ihren Automation-Entwicklungs-, Produktions- und Testkonten synchronisieren.

Hinweis

Synchronisierungsaufträge für die Quellcodeverwaltung werden unter dem Automation-Konto eines Benutzers ausgeführt und mit der gleichen Rate wie andere Automation-Aufträge berechnet. Darüber hinaus unterstützen Azure Automation-Aufträge keine Multi-Faktor-Authentifizierung (MFA).

Typen der Quellcodeverwaltung

Azure Automation unterstützt drei Arten von Quellcodeverwaltung:

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

Voraussetzungen

Hinweis

Azure Automation unterstützt sowohl die systemseitig zugewiesene als auch die benutzerseitig zugewiesene verwaltete Identität mit Integration der Quellcodeverwaltung. Um eine vom Benutzer zugewiesene verwaltete Identität zu verwenden, erstellen Sie eine Automatisierungsvariable AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID mit dem Wert als Client-ID der vom Benutzer zugewiesenen Identität. Der vom Benutzer zugewiesene Managed Identity muss aktiviert sein und über Zugriff als Mitwirkender auf das Automation-Konto verfügen. Wenn diese Variable nicht erstellt wird, verwenden wir standardmäßig die vom System zugewiesene Identität.

Screenshot, der die vom Benutzer zugewiesene verwaltete Identität anzeigt.

Wenn Sie sowohl ein Konto "Ausführen als" als auch eine vom System zugewiesene verwaltete Identität aktiviert haben, wird die verwaltete Identität bevorzugt.

Wichtig

Das ausführende Azure Automation-Konto wird am 30. September 2023 eingestellt. Wir empfehlen die Verwendung von Verwalteten Identitäten.

Hinweis

Gemäß dieser Azure DevOps-Dokumentation ist die Richtlinie Anwendungszugriff von Drittanbietern über OAuth für alle neuen Organisationen standardmäßig auf aus gesetzt. Wenn Sie also versuchen, die Quellcodeverwaltung in Azure Automation mit Azure DevOps (Git) als Quellcodeverwaltungstyp zu konfigurieren, ohne den Anwendungszugriff von Drittanbietern über OAuth auf der Kachel „Richtlinien“ in den Organisationseinstellungen in Azure DevOps zu aktivieren, erhalten Sie möglicherweise den Fehler SourceControl securityToken ist ungültig. Um diesen Fehler zu vermeiden, stellen Sie daher sicher, dass Sie zuerst den Anwendungszugriff von Drittanbietern über OAuth unter der Kachel Richtlinien der Organisationseinstellungen in Azure DevOps aktivieren.

Konfigurieren der Quellcodeverwaltung

In diesem Abschnitt erfahren Sie, wie Sie die Quellcodeverwaltung für Ihr Automation-Konto konfigurieren. Sie können das Azure-Portal oder PowerShell verwenden.

Zuweisen einer verwalteten Identität zur Rolle "Mitwirkender"

In diesem Beispiel wird Azure PowerShell verwendet, um zu zeigen, wie die Rolle Mitwirkender im Abonnement der Azure Automation-Kontoressource zugewiesen wird.

  1. Öffnen Sie eine PowerShell-Konsole mit erhöhten Rechten.

  2. Melden Sie sich bei Azure an, indem Sie den Befehl Connect-AzAccount ausführen.

  3. Führen Sie den folgenden Befehl aus, um dem Dienstprinzipal die Rolle Mitwirkender zuzuweisen.

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

Konfigurieren der Quellcodeverwaltung im Azure-Portal

Verwenden Sie dieses Verfahren, um die Quellcodeverwaltung über das Azure-Portal zu konfigurieren.

  1. Wählen Sie in Ihrem Automation-Konto Quellcodeverwaltung aus, und klicken Sie auf Hinzufügen.

    Auswählen der Quellcodeverwaltung

  2. Wählen Sie Typ der Quellcodeverwaltung aus, und klicken Sie dann auf Authentifizieren.

  3. Ein Browserfenster wird geöffnet, und Sie werden zur Anmeldung aufgefordert. Befolgen Sie die Aufforderungen, um die Authentifizierung abzuschließen.

  4. Verwenden Sie die Felder auf der Seite „Zusammenfassung der Quellcodeverwaltung“, um die unten definierten Eigenschaften der Quellcodeverwaltung einzutragen. Klicken Sie abschließend auf Speichern.

    Eigenschaft BESCHREIBUNG
    Name der Quellcodeverwaltung Ein Anzeigename für die Quellcodeverwaltung. Dieser Name darf nur Buchstaben und Zahlen enthalten.
    Typ der Quellcodeverwaltung Der Typ des Quellcodeverwaltungs-Mechanismus. Verfügbare Optionen:
    * GitHub
    * Azure DevOps (Git)
    * Azure DevOps (TFVC)
    Repository Der Name des Repositorys oder Projekts. Die ersten 200 Repositorys werden abgerufen. Geben Sie zum Suchen nach einem Repository den Namen in das Feld ein, und klicken Sie auf Search on GitHub (Auf GitHub suchen).
    Verzweigung Die Verzweigung, aus der die Quelldateien abgerufen werden sollen. Die Ausrichtung auf Verzweigungen ist für den TFVC-Quellcodeverwaltungstyp nicht verfügbar.
    Ordnerpfad Der Ordner, der die zu synchronisierenden Runbooks enthält, z. B. /Runbooks. Nur im angegebenen Ordner enthaltene Runbooks werden synchronisiert. Rekursion wird nicht unterstützt.
    Automatische Synchronisierung1 Eine Einstellung, die die automatische Synchronisierung aktiviert oder deaktiviert, wenn im Repository für die Quellcodeverwaltung oder im GitHub-Repository ein Commit durchgeführt wird.
    Runbook veröffentlichen Die Einstellung ist „Ein“ (On), wenn Runbooks nach der Synchronisierung aus der Quellcodeverwaltung automatisch veröffentlicht werden, andernfalls ist sie „Aus“ (Off).
    BESCHREIBUNG Text, der zusätzliche Details zur Quellcodeverwaltung angibt.

    1: Um die automatische Synchronisierung beim Konfigurieren der Integration der Quellcodeverwaltung in Azure DevOps zu aktivieren, müssen Sie der/die Projektadministrator*in bzw. der/die Besitzer*in des GitHub-Repositorys sein. Mitarbeiter*innen können die Quellcodeverwaltung nur ohne automatische Synchronisierung konfigurieren.
    Die automatische Synchronisierung funktioniert nicht mit Azure Automation Private Link. Wenn Sie Private Link aktivieren, schlägt der Webhookaufruf des Quellsteuerelements fehl, da es sich außerhalb des Netzwerks befindet.

    Screenshot, der die Zusammenfassung der Quellcodeverwaltung beschreibt.

Hinweis

  • Die Anmeldung für Ihr Quellcodeverwaltungs-Repository kann von Ihrer Anmeldung beim Azure-Portal abweichen. Stellen Sie sicher, dass Sie mit dem richtigen Konto für Ihr Quellcodeverwaltungs-Repository angemeldet sind, wenn Sie die Quellcodeverwaltung konfigurieren. Wenn Sie diesbezüglich unsicher sind, öffnen Sie in Ihrem Browser eine neue Registerkarte, melden Sie sich von dev.azure.com, visualstudio.com oder github.com ab, und versuchen Sie, erneut eine Verbindung mit der Quellcodeverwaltung herzustellen.
  • Die mandantenübergreifende Authentifizierung wird nicht unterstützt.

Konfigurieren der Quellcodeverwaltung in PowerShell

Sie können auch PowerShell verwenden, um die Quellcodeverwaltung in Azure Automation zu konfigurieren. Um PowerShell-Cmdlets für diesen Vorgang zu verwenden, benötigen Sie ein persönliches Zugriffstoken (Personal Access Token, PAT). Verwenden Sie das Cmdlet New-AzAutomationSourceControl, um die Verbindung für die Quellcodeverwaltung zu erstellen. Dieses Cmdlet erfordert eine sichere Zeichenfolge für das PAT. Informationen zum Erstellen einer sicheren Zeichenfolge finden Sie unter ConvertTo-SecureString.

In den folgenden Unterabschnitten wird die Erstellung der Quellcodeverwaltung mit der PowerShell für GitHub, Azure Repos (Git) und Azure Repos (TFVC) veranschaulicht.

Erstellen einer Verbindung mit der Quellcodeverwaltung für GitHub

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

Erstellen einer Verbindung mit der Quellcodeverwaltung für Azure Repos (Git)

Hinweis

Azure Repos (Git) verwendet eine URL, die auf dev.azure.com statt auf das in früheren Formaten verwendete visualstudio.com zugreift. Das ältere URL-Format https://<accountname>.visualstudio.com/<projectname>/_git/<repositoryname> ist veraltet, wird aber immer noch unterstützt. Das neue Format wird bevorzugt.

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"

Erstellen einer Verbindung mit der Quellcodeverwaltung für Azure Repos (Git)

Hinweis

Azure Repos (Git) verwendet eine URL, die auf dev.azure.com statt auf das in früheren Formaten verwendete visualstudio.com zugreift. Das ältere URL-Format https://<accountname>.visualstudio.com/<projectname>/_versionControl ist veraltet, wird aber immer noch unterstützt. Das neue Format wird bevorzugt.

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

Berechtigungen für persönliche Zugriffstoken (PAT)

Die Quellcodeverwaltung erfordert einige Mindestberechtigungen für PATs. Die folgenden Unterabschnitte enthalten die für GitHub und Azure Repos erforderlichen Mindestberechtigungen.

PAT-Mindestberechtigungen für GitHub

In der folgenden Tabelle werden die für GitHub erforderlichen PAT-Mindestberechtigungen definiert. Weitere Informationen zum Erstellen eines PAT in GitHub finden Sie unter Erstellen eines persönlichen Zugriffstokens für die Befehlszeile.

`Scope` BESCHREIBUNG
repo
repo:status Zugriff auf den Commitstatus
repo_deployment Zugriff auf den Bereitstellungsstatus
public_repo Zugriff auf öffentliche Repositorys
repo:invite Zugriff auf Repositoryeinladungen
security_events Lesen und Schreiben von Sicherheitsereignissen
admin:repo_hook
write:repo_hook Schreiben von Repositoryhooks
read:repo_hook Lesen von Repositoryhooks
PAT-Mindestberechtigungen für Azure Repos

In der folgenden Liste werden die für Azure Repos erforderlichen PAT-Mindestberechtigungen definiert. Weitere Informationen zum Erstellen eines PAT in Azure Repos finden Sie unter Authentifizieren des Zugriffs mit persönlichen Zugriffstoken.

`Scope` Zugriffstyp
Code Lesen
Project and team Lesen Sie
Identity Lesen Sie
User profile Lesen Sie
Work items Lesen
Service connections Lesen, Abfragen und Verwalten1

1 Die Berechtigung Service connections ist nur erforderlich, wenn die automatische Synchronisierung aktiviert ist.

Synchronisieren mit der Quellcodeverwaltung

Führen Sie die folgenden Schritte aus, um eine Synchronisierung mit der Quellcodeverwaltung durchzuführen.

  1. Wählen Sie die Quelle in der Tabelle auf der Seite „Quellcodeverwaltung“ aus.

  2. Klicken Sie auf Synchronisierung starten, um den Synchronisierungsprozess zu starten.

  3. Zeigen Sie den Status des aktuellen Synchronisierungsauftrags oder von früheren Aufträgen an, indem Sie auf die Registerkarte Synchronisierungsaufträge klicken.

  4. Wählen Sie im Dropdownmenü Quellcodeverwaltung einen Quellcodeverwaltungs-Mechanismus aus.

    Synchronisierungsstatus

  5. Sie können die Ausgabe des Auftrags anzeigen, indem Sie auf einen Auftrag klicken. Dies ist ein Beispiel für die Ausgabe eines Synchronisierungsauftrags der Quellcodeverwaltung:

    ===================================================================
    
    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. Zusätzliche Protokollierung ist verfügbar, indem Sie auf der Seite „Quellcodeverwaltung – Übersicht zu Synchronisierungsauftrag“ die Option Alle Protokolle auswählen. Diese zusätzlichen Protokolleinträge können Ihnen als Hilfe beim Behandeln von Problemen dienen, die bei Verwendung der Quellcodeverwaltung auftreten können.

Trennen der Quellcodeverwaltung

So trennen Sie die Verbindung mit einem Quellcodeverwaltungs-Repository

  1. Öffnen Sie in Ihrem Automation-Konto unter Kontoeinstellungen die Option Quellcodeverwaltung.

  2. Wählen Sie den Quellcodeverwaltungs-Mechanismus aus, den Sie entfernen möchten.

  3. Klicken Sie auf der Seite „Quellcodeverwaltung – Übersicht“ auf Löschen.

Behandeln von Codierungsproblemen

Wenn mehrere Personen in Ihrem Quellcodeverwaltungs-Repository Runbooks mit unterschiedlichen Editoren bearbeiten, kann es zu Codierungsproblemen kommen. Weitere Informationen zu dieser Situation finden Sie unter Häufige Gründe für Codierungsprobleme.

Aktualisieren des PAT

Derzeit können Sie das PAT in der Quellcodeverwaltung nicht über das Azure-Portal aktualisieren. Nach Ablauf oder Widerruf Ihres PAT können Sie die Quellcodeverwaltung auf eine der folgenden Weisen mit einem neuen Zugriffstoken aktualisieren:

Nächste Schritte