Welcome to the jervis wiki! Use the table of contents to the right to navigate to your desired guide.
Jervis: Jenkins as a service
a.k.a. Builds as a service or CI/CD as a service
Jervis is Sam Gleske's vision of a good way to roll out Jenkins as a service in very large organizations. Key tenets of this vision include:
- Onboarding is a basic and fast process. No tickets should be required to a dependent team in order for developers to add new projects to Jenkins. One click onboarding should involve scanning a project and configuring it for success in an organization.
- Keep code review and regular verify builds a corner stone of how developers integrate work.
- Security is part of the design rather than an afterthought. Segregated build and deployment environments; projects must not be allowed to affect each other. Support for project and team managed secrets without the need to store them plaintext within repositories; managing secrets should be self service in order to not require a ticket to a dependent team.
- Highly flexible and open configurations so anybody can use or contribute. Not all companies have the same requirements so Jervis is designed to support multiple platforms and operating systems.
- Flexible build environment which allows developers to support themselves. Non-privileged containers should provide root access to build environments so developers can support themselves if the system does not support their project. A developer should be able to install their own tooling in their build environment as part of setting up their build if necessary.
This vision is not just a theory. Jervis is used in practice by more than one Fortune 50 company with thousands of users and even more projects per Jenkins master.
Refer to the README to learn more about Jervis itself.