There are many projects within 3Pillar Global where we use Continuous Integration (CI) as a development practice and the most widely used CI server available today is Jenkins. We have also used Jenkins for CI on some of our Android based projects. As a part of their build process, these projects have been successfully using TestFlight, a platform for on-the-fly beta testing. What TestFlight does is that It empowers the team to plug a deployment step into their Jenkins build process, which builds the current code base into an APK (the Android binary); the binary is then automatically dispatched to target groups, e.g. QA, Release, etc. This turns out to be a powerful tool because relying on Google Play’s beta testing feature makes distribution of intermediate development builds a time consuming process, whereas TestFlight helps to bridge the distribution gap between developers and QA.
It was only a few month ago that Apple had bought TestFlight and announced it would stop its support for its Android platform. While this was happening, there was a promising distribution platform emerging called TestFairy. As we were ourselves scouting for a replacement, we saw merits in the application of this new platform. Our team was able to easily integrate it into our existing Jenkins configuration using a Bash script provided by the TestFairy developers.
Noticing that there was no Jenkins plug-in available to help integrate with TestFairy, we seized this opportunity and built the plug-in ourselves. We have now made rapid advances by releasing the plug-in as open source and have been successfully using it on our Android projects. The plug-in is freely available at the Jenkins plug-ins repository and the source code is provided on GitHub.
The motivation behind getting involved in this project was the 3Pillar ideology of making meaningful contributions to the open source community. Two of the main reasons why this plugin saw the light of the day were: A. We were using many open source components in our projects and wanted to give something back to the open source community; the fact is it makes even more sense when we are able to find a fix within the reused component. B. The second reason was the fact that it turned out to be a neat development approach, i.e. open source a good project and other developers worldwide can contribute to its enhancement by fixing bugs, implementing new features or by providing new ideas.
At 3Pillar, we are all delighted at the development and open sourcing of the TestFairy Jenkins plug-in. We hope it turns out to be a tester’s delight as well and saves a lot of time and effort in the process! Please feel free to comment with your feedback and suggestions.