Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’intégration du contrôle de code source à Azure Automation vous permet d’effectuer des synchronisations unidirectionnelles à partir de votre dépôt de contrôle de code source. Le contrôle des sources vous permet de tenir à jour vos runbooks dans votre compte Automation avec les scripts de votre dépôt de contrôle des sources GitHub ou Azure DevOps. Cette fonctionnalité simplifie la promotion du code qui a été testé dans votre environnement de développement dans votre compte Automation de production.
L’intégration du contrôle de code source vous permet de facilement collaborer avec votre équipe, suivre les modifications et restaurer des versions antérieures de vos runbooks. Par exemple, le contrôle de code source vous permet de synchroniser différentes branches dans le contrôle de code source avec vos comptes Automation de développement, de test et de production.
Remarque
- Les travaux de synchronisation du contrôle de code source sont exécutés sous le compte Automation de l’utilisateur et sont facturés au même tarif que les autres tâches Automation. En outre, les Azure Automation Jobs ne prennent pas en charge l’authentification multifacteur (MFA).
- L’intégration du contrôle de code source est prise en charge uniquement pour les runbooks PowerShell 5.1.
Types de contrôle de code source
Azure Automation prend en charge trois types de contrôles de code source :
- GitHub
- Azure DevOps (Git)
- Azure DevOps (TFVC)
Prérequis
- Un référentiel de contrôle de code source (GitHub ou Azure DevOps)
- Le compte Automation requiert l’attribution d’une identité géréepar le système ou par l’utilisateur. Si vous n'avez pas configuré d'identité gérée avec votre compte d'automatisation, voir Activer l'identité gérée attribuée par le système ou activer l'identité gérée attribuée par l'utilisateur pour la créer.
- Affectez l’identité managée affectée par le système au rôle Contributeur dans le compte Automation.
Remarque
Azure Automation prend en charge les identités gérées affectées par le système, ainsi que celles affectées par l’utilisateur avec l’intégration du contrôle de code source. Pour utiliser une identité gérée affectée par l’utilisateur, créez une variable Automation AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID avec la valeur en tant qu’ID client de l’identité affectée à l’utilisateur. L’utilisateur affecté Managed Identity doit être activé et disposer d’un accès collaborateur au compte Automation. Si cette variable n’est pas créée, par défaut, nous utilisons l’identité affectée par le système.
Si vous avez un compte d’identification et une identité managée affectés par le système qui sont activés, l’identité managée a la préférence.
Important
Le compte d’identification Azure Automation a été mis hors service le 30 septembre 2023. Nous vous recommandons d’utiliser des identités managées.
Remarque
Selon cette documentation Azure DevOps, l’accès à l’application tierce via la stratégie OAuth est désactivé par défaut pour toutes les nouvelles organisations. Par conséquent, si vous essayez de configurer le contrôle de code source dans Azure Automation avec Azure DevOps (Git) comme type de contrôle de code source sans activer l’accès à l’application tierce via OAuth sous la vignette Stratégies des paramètres de l’organisation dans Azure DevOps, vous pouvez obtenir que SourceControl securityToken ne soit pas valide. Par conséquent, pour éviter cette erreur, assurez-vous d’activer d’abord l’accès à l’application tierce via OAuth sous la vignette Stratégies des paramètres de l’organisation dans Azure DevOps.
Configuration du contrôle de code source
Cette section explique comment configurer le contrôle de code source pour votre compte Automation. Vous pouvez utiliser le portail Azure ou PowerShell.
Affecter une identité managée au rôle contributeur
Cet exemple utilise Azure PowerShell pour montrer comment attribuer le rôle Contributeur dans l’abonnement à la ressource du compte Azure Automation.
Pour affecter une identité managée au rôle Contributeur, procédez comme suit :
Ouvrez une console PowerShell avec des privilèges élevés.
Connectez-vous à Azure en exécutant la commande
Connect-AzAccount.Pour affecter l’identité managée au rôle Contributeur, exécutez la commande suivante.
New-AzRoleAssignment ` -ObjectId <automation-Identity-Object(Principal)-Id> ` -Scope "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}" ` -RoleDefinitionName "Contributor"
Configurer le contrôle de code source dans le portail Azure
Pour configurer le contrôle de code source à l’aide du portail Azure, procédez comme suit :
Dans votre compte Automation, sélectionnez Contrôle de code source , puis Ajouter.

Choisissez le type de contrôle de code source, puis sélectionnez Authentifier.
Une fenêtre de navigateur s’ouvre et vous invite à vous connecter. Suivez les invites pour effectuer l’authentification.
Dans la page Résumé du contrôle de code source, utilisez les champs pour renseigner les propriétés du contrôle de code source définies ci-dessous. Sélectionnez Enregistrer lorsque vous avez terminé.
Propriété Descriptif Nom du contrôle de code source Nom convivial du contrôle de code source. Ce nom ne doit contenir que des lettres et des chiffres. Type de contrôle de code source Type de mécanisme de contrôle de code source. Les options disponibles sont les suivantes :
* GitHub
* Azure DevOps (Git)
* Azure DevOps (TFVC)Référentiel Nom du dépôt ou du projet. Les 200 premiers dépôts sont retournés. Pour rechercher un référentiel, tapez le nom dans le champ et sélectionnez Rechercher sur GitHub. Branche Branche à partir de laquelle extraire les fichiers sources. Le ciblage de branche n’est pas disponible pour le contrôle de code source de type TFVC. Chemin d’accès du dossier Dossier qui contient les runbooks à synchroniser, par exemple, /Runbooks. Seuls les runbooks inclus dans le dossier spécifié sont synchronisés. La récursivité n’est pas prise en charge. Synchronisation automatique1 Paramètre qui active ou désactive la synchronisation automatique lorsqu'une validation est effectuée dans le référentiel de contrôle de code source ou le dépôt GitHub. Publier un runbook Paramètre activé, si les runbooks sont automatiquement publiés après la synchronisation à partir du contrôle de code source, sinon désactivé. Descriptif Texte spécifiant des détails supplémentaires sur le contrôle de code source. 1 Pour activer la synchronisation automatique lors de la configuration de l'intégration du contrôle de code source avec Azure DevOps, vous devez être l'administrateur du projet ou le propriétaire du dépôt GitHub. Les collaborateurs peuvent uniquement configurer le contrôle de source sans synchronisation automatique.
La synchronisation automatique ne fonctionne pas avec Automation Private Link. Si vous activez le Private Link, les appels de webhook de contrôle de code source échouent car il se trouve en dehors du réseau.
Remarque
- Les informations de connexion de votre dépôt de contrôle de code source peuvent être différentes de celles que vous utilisez pour le portail Azure. Lorsque vous configurez le contrôle de code source, vérifiez que vous êtes bien connecté au compte qui correspond à votre dépôt de contrôle de code source. En cas de doute, ouvrez un nouvel onglet dans votre navigateur, déconnectez-vous de dev.azure.com, visualstudio.com ou de github.com et essayez de vous reconnecter au contrôle de code source.
- L’authentification multilocataire n’est pas prise en charge.
- La synchronisation automatique peut échouer si le contrôle de code source a été créé il y a plus d’un an, car le webhook utilisé pour appeler le contrôle de code source expire après un an. Pour résoudre ce problème, créez un nouveau contrôle de code source dans le compte Automation avec la même configuration, ce qui va générer un nouveau webhook avec une date d’expiration étendue.
Configurer le contrôle de code source dans PowerShell
Vous pouvez également utiliser PowerShell pour configurer le contrôle de code source dans Azure Automation. Pour utiliser des applets de commande PowerShell pour cette opération, vous avez besoin d’un jeton d’accès personnel (PAT). Pour créer la connexion de contrôle de code source, utilisez l’applet de commande New-AzAutomationSourceControl. Cette applet de commande exige une chaîne sécurisée pour le PAT. Pour savoir comment créer une chaîne sécurisée, consultez ConvertTo-SecureString.
Les sous-sections suivantes illustrent la création par PowerShell de la connexion de contrôle de code source pour GitHub, Azure Repos (Git) et Azure Repos (TFVC).
Créer une connexion de contrôle de code source pour GitHub
New-AzAutomationSourceControl -Name SCGitHub -RepoUrl https://github.com/<accountname>/<reponame>.git -SourceType GitHub -FolderPath "/MyRunbooks" -Branch main -AccessToken <secureStringofPAT> -ResourceGroupName <ResourceGroupName> -AutomationAccountName <AutomationAccountName>
Créer une connexion de contrôle de code source pour Azure DevOps (Git)
Remarque
Azure DevOps (Git) utilise une URL qui accède à dev.azure.com au lieu de visualstudio.com, utilisé dans des formats antérieurs. L’ancien format d’URL https://<accountname>.visualstudio.com/<projectname>/_git/<repositoryname> n’est plus utilisé, mais il demeure pris en charge. Le nouveau format est préféré.
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"
Créer une connexion de contrôle de code source pour Azure DevOps (TFVC)
Remarque
Azure Repos (TFVC) utilise une URL qui accède à dev.azure.com au lieu de visualstudio.com, utilisé dans des formats antérieurs. L’ancien format d’URL https://<accountname>.visualstudio.com/<projectname>/_versionControl n’est plus utilisé, mais il demeure pris en charge. Le nouveau format est préféré.
New-AzAutomationSourceControl -Name SCReposTFVC -RepoUrl https://dev.azure.com/<accountname>/<adoprojectname>/_git/<repositoryname> -SourceType VsoTfvc -AccessToken <secureStringofPAT> -ResourceGroupName <ResourceGroupName> -AutomationAccountName <AutomationAccountName> -FolderPath "/Runbooks"
Autorisations de jeton d’accès personnel (PAT)
Le contrôle de code source exige des autorisations minimales pour les PAT. Les sous-sections suivantes indiquent les autorisations minimales nécessaires pour accéder à GitHub et à Azure DevOps.
Autorisations PAT minimales pour GitHub
Le tableau suivant définit les autorisations PAT minimales nécessaires pour GitHub. Pour plus d’informations sur la création d’un jeton d’accès personnel dans GitHub, consultez Créer un jeton d’accès personnel pour la ligne de commande.
| Étendue | Descriptif |
|---|---|
repo |
|
repo:status |
État de la validation d’accès |
repo_deployment |
État du déploiement d’accès |
public_repo |
Référentiels publics d’accès |
repo:invite |
Invitations au référentiel d’accès |
security_events |
Lire et écrire des événements de sécurité |
admin:repo_hook |
|
write:repo_hook |
Écrire des hooks de référentiel |
read:repo_hook |
Lire des hooks de référentiel |
Autorisations PAT minimales pour Azure DevOps
La liste suivante définit les autorisations PAT minimales nécessaires pour Azure DevOps. Pour plus d’informations sur la création d’un PAT dans Azure DevOps, consultez Authentifier l’accès à l’aide de jetons d’accès personnels.
| Étendue | Type d’accès |
|---|---|
Code |
Lire |
Project and team |
Lire |
Identity |
Lire |
User profile |
Lire |
Work items |
Lire |
Service connections |
Lire, interroger, gérer1 |
1 L’autorisation Service connections est uniquement nécessaire si vous avez activé la synchronisation automatique.
Synchroniser avec le contrôle de code source
Pour synchroniser avec le contrôle de code source, procédez comme suit :
Sélectionnez la source dans la table de la page contrôle de code source .
Sélectionnez Démarrer la synchronisation pour démarrer le processus de synchronisation.
Affichez l’état du travail de synchronisation actuel ou des travaux précédents en sélectionnant l’onglet Tâches de synchronisation.
Dans le menu déroulant Contrôle de code source, sélectionnez un mécanisme de contrôle de code source.

La sélection d’un travail vous permet d’afficher le résultat du travail. L’exemple suivant présente la sortie d’un travail de synchronisation du contrôle de code source.
=================================================================== 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 ==================================================================Une journalisation supplémentaire est disponible en sélectionnant tous les journaux dans la page Résumé du travail de synchronisation du contrôle de code source . Ces entrées de journal supplémentaires peuvent vous aider à résoudre les problèmes qui peuvent survenir lorsque vous utilisez le contrôle de code source.
Déconnecter le contrôle de code source
Pour vous déconnecter d’un référentiel de contrôle de code source, procédez comme suit :
Ouvrez Contrôle de code source sous Paramètres du compte dans votre compte Automation.
Sélectionnez le mécanisme de contrôle de code source à supprimer.
Dans la page Résumé du contrôle de code source , sélectionnez Supprimer.
Gérer les problèmes d’encodage
Si plusieurs personnes modifient des runbooks dans votre dépôt de contrôle de code source à l’aide de différents éditeurs, des problèmes d’encodage peuvent se produire. Pour plus d’informations sur cette situation, consultez Causes courantes des problèmes d’encodage.
Mettre à jour le jeton d’accès personnel (PAT, Personal Access Token)
Actuellement, vous ne pouvez pas utiliser le portail Azure pour mettre à jour le PAT dans le contrôle de code source. Lorsque votre PAT a expiré ou a été révoqué, vous pouvez mettre à jour le contrôle de code source avec un nouveau jeton d’accès de l’une des manières suivantes :
- Utilisez l’API REST.
- Utilisez l’applet de commande Update-AzAutomationSourceControl.
Étapes suivantes
- Pour intégrer le contrôle de source Runbook à Visual Studio Codespaces, consultez Azure Automation : Intégration du contrôle de source Runbook à l'aide de Visual Studio Codespaces.
