TuneIn Radio: Why We Migrated to Bitrise CI/CD

Andrés Sandoval from TuneIn Radio explains why they moved to Bitrise after trying other CI/CD solutions.

At TuneIn we’re always improving our Continuous Integration and Continuous Delivery processes. Last year I worked on setting up TuneIn CI/CD using Docker and TeamCity (TC). This year we migrated to Bitrise.

Guest post by Andrés Sandoval. The original post appeared on TuneIn.Engineering

Andres is a Senior Android Software Engineer and has experience with Android development, security, testing and CI/ CD. He likes to keep learning about new technologies and share his knowledge. Also, he likes traveling, swimming, writing and playing soccer. He was born in Cd. Juarez Chihuahua, Mexico and now works in San Francisco, Ca, USA.

Why We Migrated to Bitrise CI/CD

I’m a fan of CI/CD. I’ve used numerous CI frameworks (Jenkins, Circle CI, TeamCity, Bitrise) and they all do similar tasks (build, test, report, publish to Play Store); they just have different UIs and payment plans.

My favorite framework so far is Bitrise, for the reasons below.

Pros:

  • It’s easy to integrate.
  • The Bitrise technical support team is great.
  • We get an email notification with build status and the app install URL.
  • We don’t need to VPN, like on TeamCity.
  • We don’t need to maintain a Dockerfile (and no more Docker local testing), which saves configuration and testing time.

Cons:

  • We don’t have a history changelog when we update the build steps (like on TeamCity) so we have to back up our Bitrise build settings to GitHub.

Continuous Integration (CI) makes the development life cycle easier. Every time we push new code, we run a set of Gradle build tasks to check that nothing was broken by our code changes. With Bitrise we can configure our Android CI process to do the below build tasks.

  • Android Lint (code style checks) generates an HTML report.
  • Unit Tests (Jacoco and Code test coverage) generates a test results report.
  • UI Integration Tests (Espresso tests run on Firebase Test Lab).
  • Android Build generates APK and App Bundle.
  • Bitrise’s “Schedule” feature sets an App build to run automatically daily.
  • Bitrise’s “Deploy” feature gives build status notifications via email, Slack, etc.
undefined

Conclusion

Using Bitrise is straightforward and it’s easy to integrate. Previously we were building using Docker containers (we had to maintain a Dockerfile, updating Gradle build versions, Android SDK version, NDK version, etc). Now we don’t have to maintain a Dockerfile.

Bitrise is a great framework. They keep making changes to give a better user experience each day, and their support team is always there to answer all your questions.

Thanks for reading! Let me know if you have any questions about setting up Bitrise for Android.

No items found.

Explore more topics

App development

Best practices from engineers on how to use Bitrise to build better apps, faster.

Community

Meet other Bitrise engineers, technology experts, power users, partners and join our BUGs.

Company

All the updates about Bitrise events, sponsorships, employees, and more.

Insights

Mobile development, latest tech, industry insights, and interviews with experts.

Mobile DevOps

Learn why mobile development is unique and requires a set of unique practices.

Releases

Stay tuned for the last updates, new features, and product improvements.

Get the latest from Bitrise

Join other Mobile DevOps engineers who receive regular emails from Bitrise, filled with tips, news, and best practices.