Azure DevOps - Azure Service Connection
Pour déployer un site internet, une Azure fonction ou un WebJob dans Azure, via Azure DevOps, le plus simple et le plus performant est d’utiliser la tâche Azure Web App Deployment.
Si votre compte Azure DevOps est le même que celui utilisé dans le portail Azure, vous n’aurez probablement pas de difficulté à sélectionner votre Azure Subscription dans la liste des abonnements affichés dans cet écran.
Par contre, si vous devez déployer dans un environnement Azure qui ne vous appartient pas (celui du client, par exemple), cela devient beaucoup plus compliqué car vous devez préalablement enregistrer ce compte dans votre liste d’Azure Subscriptions. Mais une fois cette Subscription définie, le reste est un jeu d’enfant.
Récupérer les paramètres d’accès aux services Azure
Pour relier un abonnement à votre liste d’Azure Subscriptions (via le lien Manage), vous devez disposer de paramètres de sécurités :
- Subscription ID
- Subscription Name
- Tenant ID
- Application ID (Service Principal ID)
- Password (Service Principal Key)
Cela doit se faire en utilisant le compte Administrateur de la Subscription Azure (du client, par exemple). Depuis le portail Azure, connecté avec cet utilisateur, vous ouvrez le panneau Ligne de commandes PowerShell (en haut de l’écran).
Vous exécutez la première commande az ad sp create-for-rbac --name ServicePrincipalName
qui vous affiche les deux derniers paramètres dont nous aurons besoin.
Vous exécutez la seconde commande az account show
qui affiche les trois premiers paramètres dont nous aurons besoin.
Notez bien ces valeurs pour les utiliser dans les étapes suivantes.
Gérer vos Services Connections
Dans Azure DevOps, affichez les paramètres de votre projet, puis cliquez sur le bouton New service connection de la page des “Services connections”.
Remplissez les écrans d’enregistrement comme suit :
- Type de connexion : Azure Resource Manager
- Méthode d’authentification : Service principal (manual)
- Paramètres de l’abonnement :
- Subscription ID
- Subscription Name
- Tenant ID
- Application ID (Service Principal ID)
- Password (Service Principal Key)
Appuyez sur le bouton Verify and save pour valider que tous les paramètres sont corrects et pour enregistrer votre service.
Utiliser le nouveau Service Connection
Revenez dans votre Azure DevOps Pipeline (build ou Release) et ajoutez la tâche Azure Web App Deployment.
Votre nouvelle connexion aux services Azure doit s’afficher dans la liste des Azure Subscriptions. Si ce n’est pas le cas, appuyez sur le bouton de rafraichissement de la liste (à droite); Vous pouvez cliquer sur Manage pour revenir à l’écran de configuration et pour vérifier les paramètres.
Les autres paramètres sont automatiquement retrouvés par Microsoft : App Type, App Name, Folder, …
Sélectionnez la méthode de déploiement Zip Deploy pour garantir que la tâche va pousser les fichiers présents dans votre package ou votre dossier, vers le dossier
wwwroot
de l’App Service (c’est plus simple pour vérifier le déploiement, via FTP ou Kudu par la suite).