In part 4 of this 5-part blog series, we explore how building a continuous delivery flow enables enterprise mobility teams to increase agility.
What is a continuous delivery pipeline and how does it benefit your entire enterprise mobility team?
In our last three blogs in this series on continuous delivery, we have discussed the importance of setting up a device cloud, the benefits of testing and debugging on real devices, and the reasons to build a suite of automated tests. Although these are important steps on their own, it is the integration of these steps into a continuous delivery pipeline flow that can take your enterprise mobility strategy to the next level.
In other words, the three previous steps are the building blocks that you need to explore and plan before launching a continuous delivery strategy. Each part of the process, with its various functions are all interrelated and dependent on each other to properly function.
But, why does it matter?
Do you remember the board game Mousetrap? If you’re familiar with this game, then you know that each action in the game sets off an entire chain reaction that is necessary for you to capture your opponents’ mice. Each step in the game is dependent on the step right before it and right after it.
Let’s compare this scenario to building a continuous delivery process flow. You know that you have a series of steps that must be created and successfully executed to build a mobile application. But, along the way your team may find issues that need to be addressed quickly.
By setting up a continuous delivery process flow, every member of the enterprise mobility team can have the agility and flexibility to debug and to keep the app functioning correctly.
5 Steps to Consider When Building a Continuous Delivery Pipeline
1. Create a Delivery Process
The first step is choosing the right tool to create a delivery process. There are many CI/CD tools that you can choose, from commercial options ( Team City, Bamboo, Urban Code) and open-source ( Jenkins, GoCD, Concourse) that your team can explore. If you already have a CI/CD tool, then it is probably best to extend this tool to include your mobile delivery.
2. Create the Pipeline Needed to Build the App
The next step is to create the pipeline needed to build the application. This means checking out the source code and compiling the app. During the build, it is recommended to make your unit tests blocking, meaning that the entire build process will fail if a unit test fails. This gives the fastest feedback to the development team to create a fix.
3. Install the App on a Device For Testing
Once the unit tests are passed, the next step would be to install the application to the device for testing. With a device cloud, this can be done through add-ins or API calls to upload the application to the cloud infrastructure and install it on the appropriate devices.
4. Run Automated Tests Against the Device
Now that the application is built, the unit tests are passed, and the application is uploaded and installed on the device, it is time to run automated tests against the device. To do so, simply use the built-in mechanism or add-in to execute the tests. For Appium tests, this usually means to have your test code pulled from the repository or test management system and executed through the build process of the test framework you are using. For those that are using Java, simply execute the JUnit or TestNG tests of your Maven or Gradle builds.
5. Manual Testing and QA
The test results are then used to determine if the build has passed and is ready for internal teams to manually run through the application to find any errors or admissions. This is usually the final step before declaring it ready to go out.
The good thing about this process, is that it makes it easy to repeat for every change because the whole process is automated. This speeds up delivery and provides faster feedback. The faster it is to detect an issue, usually the faster it is to fix. The goal is to speed up delivery and increase quality.
Now that you know the stages of a continuous delivery pipeline, here's 5 Tips When Building a Continuous Delivery Pipeline!
Want to learn more about continuous delivery and setting up a device cloud? Download our recent webcast to learn more about the 5 steps to launch a continuous delivery strategy and the benefits of testing and debugging on real devices.