Android CI/CD using Azure DevOps-II

This is Part II of two part series. If you haven’t read Part I then, please read it here. In this Part we will learn how we can deploy android builds on AppCenter or Google Play Store using Azure DevOps for testing or sharing builds with consumers .

  1. Hover mouse cursor over “Pipeline” icon and select “Releases” as shown on Screenshot #1.

2. Select “New” and then select “New Release Pipeline” as shown in Screenshot #2.


3. Click on “+ Add” to Add an artifact, which will trigger release pipeline as shown in Screenshot #3 .


4. Select appropriate “Project”, “Source(build pipeline)”, “Default Version” from respective drop-downs. Click on “Add” as shown in Screenshot #4 .


5. Click on trigger icon to see and configure various trigger options.


6. Configure trigger options as per your need and then click on “Save” to save trigger configuration changes.


7. Now to configure triggers and approvals of current stage click on trigger option as shown in Screenshot #7 by lower arrow. Click on “+Add” in Stages section to add more stages as shown in Screenshot #7 by upper arrow.


8. Select “After release” trigger option, also enable “Pre-deployment approvals” , because you don’t want to deploy every release/build to Google Play Store or App center.


9. Specify approvers e-mail id in “Approvers” field also update “Timeout” as per your requirement. Once time mentioned in “Timeout” section passed out and approver didn’t provide approval , your release get terminate or it won’t deployed to Google Play Store.


10. Click on job and task to add jobs and task in a particular stage as shown in Screenshot #10 .


11. Select “Empty job”. This will add empty job in stage.


12. Click on “+” icon as shown by arrow 1 in Screenshot #12 to add task in empty job. Enter “Google” text in search box as shown by arrow 2 in Screenshot #12 to search Google Play tasks. You can either choose “Google Play - Release” or “Google Play - Release Bundle” as mentioned by arrow 3 and arrow 4 to deploy apk or bundle file on Google play store. if you didn’t find these tasks in Azure DevOps you can add them in Azure DevOps from market place.


13. After selecting “Google Play — Release” in step #12 , You will see option shown in Screenshot #13. Select “Authentication method” “Service Connection” as mentioned by arrow 1. You can use “Manage” option as mentioned by arrow 2 to manage service connection. You can also provide apk path, which you want to upload to Google Play Store as mentioned by arrow 3.


14. Screenshot #14 show various tracks available in Google Play Store. You can choose appropriate track for apk upload.


15. If you choose “Google Play — Release Bundle” task in step #12 then you will get two more options “Application id” for mentioning application id and “Bundle path” to mention bundle location as mention Screenshot #15.


16. In step #13 when we select “Manage” in service connection as mentioned by arrow 2 in Screenshot #13 it will navigate to Screenshot#14 , where we can configure service connection.


17. We can also specify release notes file as shown in Screenshot #17. There are task available, which can automate release notes and can be added in current job.


18. We can enable “Control Options” as mentioned in Screenshot #18, which provide more control on Google Play task. We can configure Control Options” as per our requirements.


Once you complete steps from #1 to #18 your release pipeline will be ready and it will be triggered, whenever there is new release generated by pipeline configured in release pipeline configuration in step # 4. If approver mentioned in step #9 approve release then apk or bundle file will be deployed in desired track in Google Play Store.

We now come to end of two part series. If you like this story please press like button to motivate me to write more stories. You can also add comments and suggestions, so that I can improve this story and use these suggestions and comments in my upcoming stories.

I am Software Architect with 16 years of experience. I worked on many mobile application, which belong to various domain from scratch to production.