How to Get Started with Mobile Delivery Pipeline as Code

mobile delivery pipeline as code

One of the most profound changes in the past few years in software development is the transition from manually configuring development, testing and deployment environments to defining them in code by using some of the popular configuration automation/orchestration tools (Ansible, Chef, Puppet etc) or containers (Docker) and then storing the configuration files to version control the same way as the actual application code is stored.

The ultimate value of this is to significantly boost developer productivity since mobile developers, test automation engineers, build engineers and operations engineers are relieved from manual tasks to set up exactly the same environment over and over again and then often troubleshoot what is configured differently between developer’s environment vs. testers environment vs. deployment environment.

As one of the most popular open source tools in continuous integration landscape, Jenkins has advanced a lot by adding an ‘integration pipeline as code’ functionality to help developers create a continuous integration pipeline. Instead of manually configuring every Jenkins instance and job through the web UI, with this functionality, users can now use a file called Jenkinsfile to programmatically define rules for build, test and deployment steps in the pipeline. Jenkinsfile uses Jelly-based XML syntax and it is natural to use a version-controlled file approach that is commonly called as ‘pipeline as code’ to keep a history of any changes in the version control system. And the idea is to always have a traceable history of changes between versions of the pipeline itself for troubleshooting and reproduction purposes.

Bitbar Cloud and Jenkins Pipelines

As a software-defined and Docker-based mobile DevOps infrastructure, Bitbar Cloud can be controlled from multiple external tools to facilitate the launching of builds, test runs and retrieving build and test artifacts. All you need is our open source Run in Cloud plugin (RiC) to simplify your jobs within Jenkins orchestrated environments. And the good news is that it now also provides support for Jenkins Pipelines.

From now on the RiC plugin can be used as a “build step” in Jenkins. This means that you are able to call RiC and start a mobile test session as a step in your DevOps process, making launching mobile tests a normal step similar to building your app or moving your app to staging or production. We are also working to add support for Bitbar Build as a Jenkinsfile defined step soon.

Getting started

Bitbar Cloud Run-in-Cloud plugin

The plugin is available through Jenkins’ plugin manager or Jenkins’ Github repository:
https://github.com/jenkinsci/testdroid-run-in-cloud-plugin

Or at Jenkins’ plugin repository
https://plugins.jenkins.io/testdroid-run-in-cloud

For a guide on how to setup Jenkins Run in Cloud plugin, please refer to our online documentation available here: http://docs.bitbar.com/testing/cloud-integrations/jenkins-plugin/index.html

After successful installation, the Run in Cloud (RiC) plugin can be used to describe launching new test runs.

To use Jenkins pipeline functionality you just need to follow the instructions at:
http://docs.bitbar.com/testing/cloud-integrations/jenkins-plugin/pipeline/index.html
and configure your first Jenkins pipeline defined Mobile Delivery Pipeline as Code.

Mobile delivery pipeline as code

Versioning Name Change

We made the decision of changing the versioning of the RiC plugin to match our public cloud version to make it clear against which API a specific Jenkins plugin works. Even though we update our Public Cloud every two weeks, we don’t do API changes that often and there is no need to update the RiC plugin with every cloud update.

The latest available RiC, version 2.49.0, has the latest changes to support our new test run creator API changes that we also blogged lately. The previous version – 1.0.22 – is the version to use if you are running a version of Bitbar Cloud prior to version 2.49.

We have some API changes coming in next releases, so we will release a new version of the RiC plugin too in the coming weeks. This new version will probably be named as 2.60 and will come around end of June. Follow our release notes to know when it comes out.

Pro TIP: For Enterprise customers (On-Premise and Private Cloud), you can check the version of your cloud, go to Admin -> System status, where your cloud version will be visible.


Manifesto: Everything about Mobile DevOps

Learn how to properly adopt DevOps approach for your mobile team and get the most out of it.

Download