Project goal: Describe best practices and provide architectural templates for building Android applications with Jenkins
Skills to study/improve: Java, YAML, Android development, Command line tools, Package management tool theory
Applying CI principles when building IOS applications brings its own challenges, different from those of more classical applications. Topics such as how to proceed, what are the successful patterns, and what are the pitfalls are poorly documented. It very often requires potential users and Jenkins Administrators to "reinvent the wheel".
Some experiments are available and were presented publicly.
The proof of concept could be docker-compose based. It would work under Windows, Linux, Vagrant, macOS (x86 and ARM), and mostly on Gitpod. It should be easily transposable to a production environment. The demo/proof-of-concept would be composed of a Jenkins controller (configured with JCasc), an Android agent, a generic Docker agent, an Android emulator, and an Android device farm (STF).
The idea is to have a more precise status of what can be done now with Jenkins. We could then amend the existing Android documentation and describe architectures for:
Standalone Android projects
Android apps building farms
Android distro building (customized AOSP)
Jenkins technical architecture
Android application development
CI principle and practice
Docker
Details to be clarified interactively, together with the mentors, during the Contributor Application drafting phase.