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.


  • 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.


  • 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.


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.
The Mobile DevOps Newsletter

Explore more topics

App Development

Learn how to optimize your mobile app deployment processes for iOS, Android, Flutter, ReactNative, and more

Bitrise & Community

Check out the latest from Bitrise and the community. Learn about the upcoming mobile events, employee spotlights, women in tech, and more

Mobile App Releases

Learn how to release faster, better apps on the App Store, Google Play Store, Huawei AppGallery, and other app stores

Mobile DevOps

Learn Mobile DevOps best practices such as DevOps for iOS, Android, and industry-specific DevOps tips for mobile engineers

Mobile Testing & Security

Learn how to optimize mobile testing and security — from automated security checks to robust mobile testing and more.

Product Updates

Check out the latest product updates from Bitrise — Build Insights updates, product news, and more.

The Mobile DevOps Newsletter

Join 1000s of your peers. Sign up to receive Mobile DevOps tips, news, and best practice guides once every two weeks.