Development handbook
April 29, 2022 · View on GitHub
Concepts
Core concepts
- The "minimal dependencies" principle & the use of Docker — on the fact that we don't require many dependencies to be installed on the local machine, and that instead we use dependencies through Docker.
- Package organization — which package types exist, what they are for, and how they relate to each other.
- Build steps — what steps are involved in order to build packages, and how they relate to each other.
- Build workflow management — how we manage the fact that we have to build packages for multiple distributions, variants and Ruby versions.
- Build environments — how we utilize Docker images to build packages for different distributions and for running tasks.
- Source organization — how the Git repository is organized, and which files serve what purpose.
Advanced concepts
- CI/CD system resumption support
- CI/CD system and splitting into multiple workflows
- CI/CD caching
- APT and YUM repository setup