|
|
||
|---|---|---|
| assets | ||
| backup/pvc | ||
| build | ||
| chart | ||
| cicd | ||
| cmd/manager | ||
| deploy | ||
| docs | ||
| documentation | ||
| internal | ||
| pkg | ||
| scripts | ||
| test/e2e | ||
| version | ||
| website | ||
| .gitignore | ||
| .travis.yml | ||
| Dockerfile | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| VERSION.txt | ||
| checkmake.ini | ||
| config.env | ||
| entrypoint.sh | ||
| gen-crd-api-config.json | ||
| go.mod | ||
| go.sum | ||
| tools.go | ||
README.md
Jenkins Operator
Visit website for the full documentation, examples and guides.
What's the Jenkins Operator?
Jenkins operator is a Kubernetes native operator which fully manages Jenkins on Kubernetes. It was built with immutability and declarative configuration as code in mind.
Out of the box it provides:
- integration with Kubernetes
- pipelines as code
- extensibility via groovy scripts or configuration as code plugin
- security and hardening
Problem statement and goals
The main reason why we decided to implement the Jenkins Operator is the fact that we faced a lot of problems with standard Jenkins deployment. We want to make Jenkins more robust, suitable for dynamic and multi-tenant environments.
Some of the problems we want to solve:
- volumes handling (AWS EBS volume attach/detach issue when using PVC)
- installing plugins with incompatible versions or security vulnerabilities
- better configuration as code
- lack of end to end tests
- handle graceful shutdown properly
- security and hardening out of the box
- orphaned jobs with no jnlp connection
- make errors more visible for end users
- backup and restore for jobs history
Documentation
Contribution
Feel free to file issues or pull requests.
About the authors
This project was originally developed by VirtusLab and the following CONTRIBUTORS.
