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. 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".
Some experiments are available and were presented publicly.
The proof of concept could be the docker-compose based. It would works 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 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.