- Azure
- Azure DevOps
- Xamarin
- Xamarin.Android
- App Center
Dans ce tutoriel, je vais vous montrer comment builder et signer votre application Xamarin.Android et la distribuer à vos utilisateurs via App Center. Passons à Azure DevOps pour commencer!
Dans l’onglet Pipelines, créez un New pipeline et suivez les 4 étapes pour obtenir le code source à partir du repository approprié. Azure DevOps créera automatiquement un nouveau fichier azure-pipelines.yml
à la racine du dossier de votre projet. C’est à cet endroit que la définition du job sera définie et ensuite interprétée par Azure DevOps.
Ce job nécessitera plusieurs variables telles que le chemin du dossier, des variables d’environnements et des mots de passes. Donc, pour gérer tout cela, créons un variable group. Si vous n’êtes pas familier avec cela, vous pouvez consulter mon précédent tutoriel à ce sujet.
Pour ce tutoriel, le groupe de variables sera appelé android-pipeline
.
Commençons par charger le groupe de variables et restaurer les packages Nugets comme ceci:
trigger:
- master
pool:
vmImage: 'macos-latest'
variables:
- group: android-pipeline
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '**/*.sln'
Maintenant, nous pouvons ajouter la tâche de build comme ci-dessous:
- task: XamarinAndroid@1
inputs:
projectFile: '**/*droid*.csproj'
outputDirectory: '$(outputDirectory)'
configuration: '$(buildConfiguration)'
Les variables outputDirectory
et buildConfiguration
sont définies dans les groupes de variables avec les valeurs suivantes:
Maintenant, si vous exécutez votre job pour la première fois, vous obtiendrez un message d’erreur vous demandant de donner l’accès à votre variables group:
Acceptez en cliquant sur Authorize resources
, redémarrez le build.
Nous devons maintenant signer notre application avec un keystore. Créez-le et chargez-le dans l’onglet Pipelines > Library > Secure files afin qu’il soit accessible dans la tâche de signature. Pour ce tutoriel, le keystore. s’appellera production.jks.
Ensuite, nous devons fournir la clé de l’alias et le mot de passe, ainsi que le mot de passe du keystore. Pour des raisons de sécurité, ajoutons ces informations à notre variables group. Maintenant, nous avons toutes ces variables:
Avec toutes les variables et la configuration du keystore, nous sommes prêts à configurer notre tâche AndroidSigning@3
pour signer notre application Xamarin.Android. Ajoutons donc la tâche suivante :
- task: AndroidSigning@3
inputs:
apkFiles: '**/*.apk'
apksign: true
apksignerKeystoreFile: 'production.jks'
apksignerKeystorePassword: $(keystore.password)
apksignerKeystoreAlias: $(key.alias)
apksignerKeyPassword: $(key.password)
apksignerArguments: --out $(outputDirectory)/app.release.apk
zipalign: true
L’option --out
de apksignerArguments
nous permet de spécifier un nom pour le fichier de sortie apk
que nous venons de signer.
Nous avons maintenant notre apk
signé et prêt à être envoyé à nos utilisateurs. Mon outil préféré pour cela est App Center. Vous pouvez partager votre application avec différents groupes de testeurs avant de la publier sur un store et c’est très utile.
Continuons en configurant la connexion entre App Center et Azure DevOps. Pour ce faire, il suffit de suivre mon tutorial à ce sujet, puis continuez à l’étape suivante.
Si vous avez suivi correctement les instructions précédentes, vous pouvez maintenant ajouter votre slug d’application et votre ID de groupe de distribution au groupe de variables, comme suit:
Enfin, nous pouvons ajouter la tâche finale pour déployer notre apk
dans App Center:
- task: AppCenterDistribute@3
inputs:
serverEndpoint: 'VSAC'
appSlug: '$(appSlug)'
appFile: '$(outputDirectory)/app.release.apk'
releaseNotesOption: 'input'
releaseNotesInput: 'New version'
destinationType: 'groups'
distributionGroupId: '$(distributionGroupId)'
Si vous exécutez votre build maintenant, vous pourrez voir votre apk
déployé dans App Center pour le groupe approprié.
Vous pouvez maintenant la télécharger sur un appareil Android et la tester!
Sources:
Vous trouverez un exemple de code sur ce répertoire Github.
Happy codding !
Vous avez aimé ce tutoriel ? Laissez une étoile sur le répertoire Github associé !