Building iOS Apps with Jenkins

Project goal: Describe best practices and provide architectural templates for building iOS applications with Jenkins

Skills to study/improve: Java, YAML, iOS development, Command line tools, Package management tool theory

NOTE: This idea is published as a draft under active discussion, but it is confirmed in principle. It is FINE to apply to it. The scope and the suggested implementation may change significantly before the final version is published. Sections like quickstart guide and newbie-friendly issues may be also missing. As a contributor, you are welcome to request additional information and to join the discussions using channels linked on this page.

Details

Background

Applying CI principles when building iOS applications brings its own challenges, different from those of more classical applications. How to proceed, what are the successful patterns, what are the pitfalls is poorly documented. It very often requires potential user and Jenkins Administrator to "reinvent the wheel".

The project idea is to have a clear status of what can be done with Jenkins for iOS app builds now. There are only a few articles here and there about iOS.

Skills to Study and Improve

  • Jenkins technical architecture

  • iOS application development

  • CI principle and practice

Project Difficulty Level

Beginner to Intermediate

Project Size

175 hours

Expected outcomes

  • A working iOS application CI build with Jenkins from a public GitHub public repository (Proof of Concept).

  • A proposed architecture that would work for almost anyone (so Docker whenever it’s possible, or virtual machines) using a public GitHub repo.

  • The required additional tooling to make it all work.

  • At least one blog post explaining how to replicate the POC, preferably a full documentation to be integrated in Jenkins.io

Details to be clarified interactively, together with the mentors, during the Contributor Application drafting phase.

Potential Mentors

> Go back to other GSoC 2023 project ideas