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 MFA (Multi-Factor Authentication).
Typen broncodebeheer
Azure Automation ondersteunt drie typen broncodebeheer:
- GitHub
- Azure DevOps (Git)
- Azure DevOps (TFVC)
Vereisten
- Een opslagplaats voor broncodebeheer (GitHub of Azure DevOps)
- Voor het Automation-account is een door het systeem toegewezen, of door de gebruiker toegewezen, beheerde identiteit vereist. Als u geen beheerde identiteit hebt geconfigureerd met uw Automation-account, raadpleegt u Door het systeem toegewezen beheerde identiteit inschakelen of Door de gebruiker toegewezen beheerde identiteit inschakelen om deze te maken.
- Wijs de door de gebruiker toegewezen of door het systeem toegewezen beheerde identiteit toe aan de rol Inzender in het Automation-account.
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 toegewezen gebruiker moet zijn ingeschakeld en inzendertoegang hebben tot het Automation-account Managed Identity
. Als deze variabele niet wordt gemaakt, gebruiken we standaard de door het systeem toegewezen identiteit.
Als u zowel een Uitvoeren als-account als een beheerde identiteit hebt ingeschakeld, krijgt de beheerde identiteit een voorkeur.
Belangrijk
Het Uitvoeren als-account van Azure Automation is op 30 september 2023 buiten gebruik gesteld. 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 probeert te configureren in Azure Automation met Azure DevOps (Git) als broncodebeheertype zonder toegang van toepassingen van derden in te schakelen via OAuth onder De tegel Beleid van organisatie-instellingen in Azure DevOps, krijgt u mogelijk de fout SourceControl securityToken . 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 Inzender in het abonnement toewijst aan de Resource van het Azure Automation-account.
Open een PowerShell-console met verhoogde bevoegdheden.
Meld u aan bij Azure door de opdracht
Connect-AzAccount
uit te voeren.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
Gebruik deze procedure om broncodebeheer te configureren met behulp van Azure Portal.
Selecteer Broncodebeheer in uw Automation-account en klik op Toevoegen.
Kies het type broncodebeheer en klik vervolgens op Verifiëren.
Er wordt een browservenster geopend en u wordt gevraagd u aan te melden. Volg de aanwijzingen om de verificatie te voltooien.
Gebruik op de pagina Samenvatting van broncodebeheer de velden om de eigenschappen van broncodebeheer in te vullen die hieronder zijn gedefinieerd. Klik op Opslaan wanneer u klaar bent.
Eigenschappen Beschrijving Naam van broncodebeheer Een beschrijvende 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 klikt u op Zoeken op GitHub. Vertakking Vertakking van waaruit de bronbestanden moeten worden opgehaald. Doel van vertakkingen is niet beschikbaar voor het type TFVC-broncodebeheer. Folder path 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 Instelling 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.
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.
- Verificatie tussen tenants wordt niet ondersteund.
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 PAW'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 persoonlijk toegangstoken voor de opdrachtregel maken 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 |
Opslagplaatshook schrijven |
read:repo_hook |
Opslagplaatshook 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, query uitvoeren, beheren1 |
1 De Service connections
machtiging is alleen vereist als u autosynchronisatie hebt ingeschakeld.
Synchroniseren met broncodebeheer
Volg deze stappen om te synchroniseren met broncodebeheer.
Selecteer de bron in de tabel op de pagina Broncodebeheer.
Klik op Synchronisatie starten om het synchronisatieproces te starten.
Bekijk de status van de huidige synchronisatietaak of vorige taak door op het tabblad Synchronisatietaken te klikken.
Selecteer in het vervolgkeuzemenu Broncodebeheer een broncodebeheermechanisme.
Als u op een taak klikt, 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 ==================================================================
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
De verbinding met een opslagplaats voor broncodebeheer verbreken:
Open Broncodebeheer onder Accountinstellingen in uw Automation-account.
Selecteer het broncodebeheermechanisme dat u wilt verwijderen.
Klik op de pagina Samenvatting van broncodebeheer op Verwijderen.
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:
- Gebruik de REST API.
- Gebruik de cmdlet Update-AzAutomationSourceControl .