Blibli.com Dec 4, 2021

Continuous Integration and Delivery for iOS

Article Summary

Jimmy Harijanto from Blibli.com shows how to stop manually building iOS releases in Xcode. His team automated the entire pipeline from code commit to TestFlight using open-source tools.

This practical guide walks through implementing CI/CD for iOS apps using Jenkins, Fastlane, and Bitbucket. Harijanto shares the exact architecture and code his team uses at Blibli.com to automate builds, manage version increments, and distribute apps without touching Xcode.

Key Takeaways

Critical Insight

The setup eliminates manual iOS builds by automating everything from version increments to TestFlight uploads through Jenkins and Fastlane.

The article includes full Fastfile and Jenkinsfile examples, plus the ExportOptions.plist configurations that most tutorials skip.

About This Article

Problem

Jimmy Harijanto's team at Blibli.com was manually managing build numbers and version changes for their iOS releases. They needed a way to prevent deployment failures caused by uncommitted git changes or missed version updates.

Solution

They set up a Fastlane lane that runs clean_build_artifacts, increment_build_number, and ensure_git_status_clean before each build. This automatically checks the repository state and updates the version without requiring manual steps.

Impact

Their Jenkins pipeline now has three configurable parameters: INCREMENT_BUILD_NO, UPLOAD_IPA, and UPLOAD_TO_ARTIFACTORY. Team members can trigger builds from the 'Build with Parameters' page instead of manually exporting from Xcode.

Recent from Blibli.com

Related Articles