Delen via


Integratie van bronbeheer gebruiken

Bij de integratie van broncodebeheer in Azure Automation wordt synchronisatie in één richting vanuit uw opslagplaats voor broncodebeheer ondersteund. Met behulp van broncodebeheer kunt u uw runbooks in uw Automation-account up-to-date houden met scripts in uw GitHub- of Azure DevOps-opslagplaats voor broncodebeheer. Met deze functie kunt u eenvoudig de in uw ontwikkelomgeving geteste code naar uw Automation-account promoveren voor productie.

Dankzij de integratie van broncodebeheer kunt u eenvoudig samenwerken met uw team, wijzigingen bijhouden en terugkeren naar eerdere versies van uw runbooks. Met broncodebeheer kunt u bijvoorbeeld verschillende vertakkingen in broncodebeheer synchroniseren met uw ontwikkel-, test- en productieautomatiseringsaccounts.

Notitie

  • Synchronisatietaken voor broncodebeheer worden uitgevoerd onder het Automation-account van de gebruiker en worden gefactureerd met hetzelfde tarief als andere Automation-taken. Daarnaast bieden Azure Automation-taken geen ondersteuning voor Multi-Factor Authentication (MFA).
  • Integratie van broncodebeheer wordt alleen ondersteund voor PowerShell 5.1-runbooks.

Typen broncodebeheer

Azure Automation ondersteunt drie typen broncodebeheer:

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

Vereisten

Notitie

Azure Automation ondersteunt zowel de door het systeem toegewezen als door de gebruiker toegewezen beheerde identiteit met integratie van broncodebeheer. Voor het gebruik van een door de gebruiker toegewezen beheerde identiteit maakt u een automatiseringsvariabele AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID met de waarde als client-id van de door de gebruiker toegewezen identiteit. De door de gebruiker toegewezen Managed Identity moet geactiveerd zijn en toegang als bijdrager hebben tot het Automation-account. Als deze variabele niet wordt gemaakt, gebruiken we standaard de door het systeem toegewezen identiteit.

Schermopname van de door de gebruiker toegewezen beheerde identiteit.

Als u zowel een Run As-account als een beheerde identiteit hebt ingeschakeld, heeft de beheerde identiteit voorrang.

Belangrijk

Het Run As-account van Azure Automation is op 30 september 2023 uitgefaseerd. U wordt aangeraden beheerde identiteiten te gebruiken.

Notitie

Volgens deze Documentatie van Azure DevOps is toegang tot toepassingen van derden via OAuth-beleid standaard uitgeschakeld voor alle nieuwe organisaties. Dus als u broncodebeheer wilt configureren in Azure Automation met Azure DevOps (Git) als broncodebeheertype zonder toegang voor toepassingen van derden via OAuth in te schakelen onder het gedeelte Beleid in de Organisatie-instellingen in Azure DevOps, kunt u mogelijk de foutmelding "SourceControl securityToken is ongeldig" krijgen. Om deze fout te voorkomen, moet u ervoor zorgen dat u eerst toegang tot toepassingen van derden inschakelt via OAuth onder De tegel Beleid van organisatie-instellingen in Azure DevOps.

Broncodebeheer configureren

In deze sectie wordt uitgelegd hoe u broncodebeheer configureert voor uw Automation-account. U kunt Azure Portal of PowerShell gebruiken.

Beheerde identiteit toewijzen aan de rol Inzender

In dit voorbeeld wordt Azure PowerShell gebruikt om te laten zien hoe u de rol Medewerker in het abonnement toewijst aan de resource van het Azure Automation-account.

Voer de volgende stappen uit om een beheerde identiteit toe te wijzen aan de rol Inzender:

  1. Open een PowerShell-console met verhoogde bevoegdheden.

  2. Meld u aan bij Azure door de opdracht Connect-AzAccountuit te voeren.

  3. Voer de volgende opdracht uit om de beheerde identiteit toe te wijzen aan de rol Inzender .

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

Broncodebeheer configureren in Azure Portal

Volg deze stappen om broncodebeheer te configureren met behulp van Azure Portal:

  1. Selecteer Broncodebeheer in uw Automation-account en selecteer Toevoegen.

    Broncodebeheer selecteren

  2. Kies Broncodebeheertype, en selecteer Verifiëren.

  3. Er wordt een browservenster geopend en u wordt gevraagd u aan te melden. Volg de aanwijzingen om de verificatie te voltooien.

  4. Gebruik op de pagina Samenvatting van broncodebeheer de velden om de eigenschappen van broncodebeheer in te vullen die hieronder zijn gedefinieerd. Selecteer Opslaan wanneer u klaar bent.

    Eigenschappen Beschrijving
    Naam van broncodebeheer Een vriendelijke naam voor het broncodebeheer. Deze naam mag alleen letters en cijfers bevatten.
    Type broncodebeheer Type broncodebeheermechanisme. Beschikbare opties zijn:
    * GitHub
    * Azure DevOps (Git)
    * Azure DevOps (TFVC)
    Opslagplaats Naam van de opslagplaats of het project. De eerste 200 opslagplaatsen worden opgehaald. Als u naar een opslagplaats wilt zoeken, typt u de naam in het veld en selecteert u Zoeken op GitHub.
    Vertakking Vertakking van waaruit de bronbestanden moeten worden opgehaald. Vertakkingstargeting is niet beschikbaar voor het type TFVC-broncodebeheer.
    Locatie van de map Map die de runbooks bevat die moeten worden gesynchroniseerd, bijvoorbeeld /Runbooks. Alleen runbooks in de opgegeven map worden gesynchroniseerd. Recursie wordt niet ondersteund.
    Automatisch synchroniseren1 Instelling waarmee automatische synchronisatie wordt ingeschakeld of uitgeschakeld wanneer een doorvoer wordt uitgevoerd in de opslagplaats voor broncodebeheer of in de GitHub-opslagplaats.
    Runbook publiceren De instelling is Aan als runbooks automatisch worden gepubliceerd na synchronisatie vanuit broncodebeheer, en anders Uit.
    Beschrijving Tekst die aanvullende informatie over het broncodebeheer opgeeft.

    1 Als u Automatische synchronisatie wilt inschakelen bij het configureren van de integratie van broncodebeheer met Azure DevOps, moet u de projectbeheerder of de eigenaar van de GitHub-opslagplaats zijn. Samenwerkers kunnen broncodebeheer alleen configureren zonder automatische synchronisatie.
    Automatisch synchroniseren werkt niet met Automation Private Link. Als u de Private Link inschakelt, mislukken de webhook-aanroepen van broncodebeheer omdat deze zich buiten het netwerk bevindt.

    Schermopname van de samenvatting van broncodebeheer.

Notitie

  • De aanmelding voor uw opslagplaats voor broncodebeheer kan afwijken van uw aanmelding voor Azure Portal. Zorg ervoor dat u bent aangemeld met het juiste account voor uw opslagplaats voor broncodebeheer bij het configureren van broncodebeheer. Als u twijfelt, opent u een nieuw tabblad in uw browser, meldt u zich af bij dev.azure.com, visualstudio.com of github.com en probeert u opnieuw verbinding te maken met broncodebeheer.
  • Authenticatie tussen tenants wordt niet ondersteund.
  • Automatisch synchroniseren kan mislukken als broncodebeheer meer dan een jaar geleden is gemaakt, omdat de webhook die wordt gebruikt om het broncodebeheer aan te roepen na één jaar verloopt. Als u dit probleem wilt oplossen, maakt u een nieuw broncodebeheer in het Automation-account met dezelfde configuratie, waarmee een nieuwe webhook met een verlengde vervaldatum wordt gegenereerd.

Broncodebeheer configureren in PowerShell

U kunt Ook PowerShell gebruiken om broncodebeheer te configureren in Azure Automation. Als u de PowerShell-cmdlets voor deze bewerking wilt gebruiken, hebt u een persoonlijk toegangstoken (PAT) nodig. Gebruik de cmdlet New-AzAutomationSourceControl om de verbinding met broncodebeheer te maken. Voor deze cmdlet is een beveiligde tekenreeks vereist voor de PAT. Zie ConvertTo-SecureString voor meer informatie over het maken van een beveiligde tekenreeks.

In de volgende subsecties ziet u hoe PowerShell de broncodebeheerverbinding maakt voor GitHub, Azure DevOps (Git) en Azure DevOps (TFVC).

Verbinding met broncodebeheer maken voor GitHub

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

Een broncodebeheerverbinding maken voor Azure DevOps (Git)

Notitie

Azure DevOps (Git) maakt gebruik van een URL die toegang heeft tot dev.azure.com in plaats van visualstudio.com, die in eerdere indelingen wordt gebruikt. De oudere URL-indeling https://<accountname>.visualstudio.com/<projectname>/_git/<repositoryname> is afgeschaft, maar wordt nog steeds ondersteund. De nieuwe indeling heeft de voorkeur.

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"

Verbinding met broncodebeheer maken voor Azure DevOps (TFVC)

Notitie

Azure DevOps (TFVC) maakt gebruik van een URL die toegang heeft tot dev.azure.com in plaats van visualstudio.com, gebruikt in eerdere indelingen. De oudere URL-indeling https://<accountname>.visualstudio.com/<projectname>/_versionControl is afgeschaft, maar wordt nog steeds ondersteund. De nieuwe indeling heeft de voorkeur.

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

Persoonlijke toegangstokenmachtigingen (PAT)

Broncodebeheer vereist enkele minimale machtigingen voor PAT's. De volgende subsecties bevatten de minimale machtigingen die vereist zijn voor GitHub en Azure DevOps.

Minimale PAT-machtigingen voor GitHub

In de volgende tabel worden de minimale PAT-machtigingen gedefinieerd die vereist zijn voor GitHub. Zie Een persoonljik toegangstoken aanmaken voor de opdrachtregel voor meer informatie over het maken van een PAT in GitHub.

Bereik Beschrijving
repo
repo:status Toegangsdoorvoerstatus
repo_deployment Implementatiestatus van Access
public_repo Toegang tot openbare opslagplaatsen
repo:invite Uitnodigingen voor toegang tot opslagplaatsen
security_events Beveiligingsevenementen lezen en schrijven
admin:repo_hook
write:repo_hook Repository-hooks schrijven
read:repo_hook Repository-hooks lezen
Minimale PAT-machtigingen voor Azure DevOps

In de volgende lijst worden de minimale PAT-machtigingen gedefinieerd die vereist zijn voor Azure DevOps. Zie Toegang verifiëren met persoonlijke toegangstokens voor meer informatie over het maken van een PAT in Azure DevOps.

Bereik Toegangstype
Code Lezen
Project and team Lezen
Identity Lezen
User profile Lezen
Work items Lezen
Service connections Lezen, opvragen, beheren1

1 De Service connections machtiging is alleen vereist als u autosynchronisatie hebt ingeschakeld.

Synchroniseren met broncodebeheer

Voer de volgende stappen uit om te synchroniseren met broncodebeheer:

  1. Selecteer de bron in de tabel op de pagina Broncodebeheer .

  2. Selecteer Synchronisatie starten om het synchronisatieproces te starten.

  3. Bekijk de status van de huidige synchronisatietaak of vorige taak door het tabblad Synchronisatietaken te selecteren.

  4. Selecteer in het vervolgkeuzemenu Broncodebeheer een broncodebeheermechanisme.

    Synchronisatiestatus

  5. Als u een taak selecteert, kunt u de taakuitvoer weergeven. Het volgende voorbeeld is de uitvoer van een synchronisatietaak voor broncodebeheer.

    ===================================================================
    
    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. Aanvullende logboekregistratie is beschikbaar door alle logboeken te selecteren op de pagina Overzicht van de synchronisatietaak voor broncodebeheer . Deze aanvullende logboekvermeldingen kunnen u helpen bij het oplossen van problemen die zich kunnen voordoen bij het gebruik van broncodebeheer.

Verbinding broncodebeheer verbreken

Voer de volgende stappen uit om de verbinding met een opslagplaats voor broncodebeheer te verbreken:

  1. Open Broncodebeheer onder Accountinstellingen in uw Automation-account.

  2. Selecteer het broncodebeheermechanisme dat u wilt verwijderen.

  3. Selecteer Verwijderen op de pagina Samenvatting van broncodebeheer.

Coderingsproblemen afhandelen

Als meerdere personen runbooks bewerken in uw opslagplaats voor broncodebeheer met behulp van verschillende editors, kunnen er coderingsproblemen optreden. Zie Veelvoorkomende oorzaken van coderingsproblemen voor meer informatie over deze situatie.

De PAT bijwerken

Op dit moment kunt u Azure Portal niet gebruiken om de PAT in broncodebeheer bij te werken. Wanneer uw PAT is verlopen of ingetrokken, kunt u broncodebeheer op een van de volgende manieren bijwerken met een nieuw toegangstoken:

Volgende stappen