![]() Within our Xcode project, we define multiple iOS build targets with build settings corresponding to each target environment. Cost-effective - free for Open Source projects and self-hosted runners (where our spare Mac Minis become valuable).Integrations w/ a majority of tech stack and hosting platforms.Flexibility - offering hosted runners in every major OS.Easy navigation for writing and reading.GitHub provides Actions as a complete CI/CD system that seamlessly integrates with repositories hosted on its platform. Easy to integrate with CI systems (albeit w/ 2FA challenges, as we'll discuss later).Widely adopted and well maintained (acquired by Google in 2017). ![]() Flexible - w/ an easy to read syntax (most commands have self-descriptive aliases).Easy to set up (just install a Ruby gem).We adopted Fastlane as it has the following advantages: It offers integrations with other CLI tools and APIs including Xcode, Android SDK, Gradle, iTunes App Store, Google Play Store, Git, AWS S3, etc. Why Fastlaneįastlane prides itself on being the easiest tool to automate deployments for mobile apps. We'll use AWS S3 to store signing artifacts, but any system where we can safely store encrypted files would work.įor this example, we will use an iOS app developed with React Native, but the same approach works with iOS native apps. In this post, I am going to describe the approach we implemented for iOS CI/CD making use of Fastlane, a CI system (GitHub Actions), and how we also turned idle Mac Minis into build servers. Building and releasing all these versions is a time-consuming and error-prone process that ideally should be automated, even though it does present a particular set of challenges in doing so. As Continuous Integration/Continuous Delivery requires maintaining multiple backend environments (Development, QA, Staging, Production) with fully automated deployments, it also requires maintaining multiple versions of mobile apps to match each environment. Here at Rootstrap, mobile app development is one of our core competencies and we embrace best practices for development and delivery, just as we do for backend and web applications.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |