- Azure
- Azure DevOps
- Xamarin
- Xamarin.Android
- Android
Lors du développement d’une application pour Android, vous aurez probablement besoin de la distribuer à vos testeurs ou à vos utilisateurs finaux. Dans ce tutoriel nous allons découvrir comment paramétrer la connexion de service pour pouvoir uploader vos packages sur le Google Play depuis Azure DevOps.
Cet article suppose que vous avez déjà buildé et signé un Android App Bundle (aab
) pour pouvoir l’uploader.
La première chose à faire est de vous connecter à la console de développeur. Dans le menu de gauche, sélectionnez Setup > API access, puis dans la section service accounts sélectionnez Create new service connection :
Une popup apparaîtra, cliquez sur le lien bleu pour accéder à Google Cloud Platform. Vous arriverez dans l’interface IAM & Admin :
Cliquez ensuite sur le bouton create service account pour l’initialiser. Donnez-lui un nom et une description afin de vous souvenir pour quelle application vous l’avez fait :
Dans la deuxième étape, choisissez le rôle Owner pour ce service :
La dernière étape peut être laissée telle quelle. Validez la création et si elle réussit vous aurez quelque chose comme ceci :
Avec ce service Google créé, nous devons maintenant créer une clé de compte de service qui sera utilisée dans Azure DevOps plus tard. Pour ce faire, cliquez sur les trois petits points dans la colonne des actions à droite et sélectionnez Manage Keys.
Dans la page suivante sélectionnez Add Key puis JSON et validez.
Cela demandera une popup pour télécharger la clé en tant que fichier JSON. Assurez-vous de l’enregistrer dans un stockage sécurisé, un Key Vault par exemple.
Dernière étape, revenez à la console Google Play et dans la section de connexion au service, cliquez sur le bouton Grant Access pour inviter votre compte de service Google en tant qu’utilisateur de votre compte Google Play Console. Une page d’autorisation s’affichera, laissez les options par défaut et validez.
Il est temps de créer la connexion au service qui permettra à Azure DevOps d’uploader votre package sur la Google Play Console.
Dans Azure DevOps, accédez à Project Settings > Service Connections et cliquez sur le bouton New service connection et sélectionnez Google Play dans la liste.
Dans la saisie de l’e-mail, vous devez spécifier l’adresse e-mail du compte de service Google que vous venez de créer et qui se termine par gserviceaccount.com
.
Ajoutez ensuite la clé privée de la console développeur de Google Play qui se trouve dans le fichier JSON que vous avez précédemment téléchargé. Assurez-vous de copier coller toute la valeur de private_key
:
{
"type": "service_account",
//...
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgk......_KEYWGEAFRPqqAs=\n-----END PRIVATE KEY-----\n",
//...
}
Donnez-lui enfin un nom (évitez d’utiliser l’espace), celui-ci sera utilisé dans votre pipeline.
Dans votre pipeline, vous pouvez désormais utiliser la task officielle Google Play. Si cette task n’est pas déjà installée dans votre organisation, n’hésitez pas à le faire maintenant, sinon vous ne pourrez pas y accéder dans vos pipelines.
Voici un exemple de template YAML
qui utilise cette task:
jobs:
- job:
displayName: 'Google Play Store'
steps:
- task: DownloadBuildArtifacts@0
displayName: 'Download artifacts'
inputs:
buildType: 'current'
downloadType: 'specific'
downloadPath: 'releases_drop'
- task: GooglePlayRelease@4
inputs:
serviceConnection: 'GooglePlayConnectionService'
applicationId: 'com.yourcompany.yourapp'
action: 'SingleBundle'
bundleFile: 'releases_drop/android_packages/*.aab'
track: 'internal'
En supposant que vous ayez déjà votre aab
d’un job
précédent, nous le téléchargeons à partir d’artefacts et l’uploadons à avec la task GooglePlayRelease@4
avec la connexion de service GooglePlayConnectionService
.
Lorsque le pipeline sera exécuté, votre aab
sera uploadé dans la section de test interne de Google Play. Si vous souhaitez le télécharger directement dans un autre environnement (production par exemple) regardez l’option track
.
Le premier upload sera à faire manuellement pour laisser Google Play initialiser votre application.
Vous pouvez désormais uploader votre package directement sur le Google Play Store en un clic ! Cela permettra à tous les membres de votre équipe de le faire de manière sécurisée et autonome.
Happy coding!