Go to our documentation website for more information, with examples and guides.
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 (Jenkins kubernetes-plugin)
- pipelines as code (Jenkins pipelines)
- extensibility via groovy scripts (similar to Jenkins script console) or (configuration as code plugin)
- secure defaults and hardening (see the security section of the documentation)
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:
- installing plugins with incompatible versions or security vulnerabilities
- better configuration as code
- security and hardening out of the box
- make errors more visible for end users
- backup and restore for jobs history
- orphaned jobs with no JNLP connection
- handle graceful shutdown properly
- proper end to end tests for Jenkins lifecycle
Go to our documentation website for more information.
Selected content:
- Installation
- Getting Started
- How it works
- Security
- Developer Guide
- Jenkins Custom Resource Definition scheme
- Multibranch pipelines and backup issues: jenkinsci#104 (comment)
There is a dedicated channel #jenkins-operator
on virtuslab-oss.slack.com (Invite form)
Feel free to file issues or pull requests.
Before any big pull request please consult the maintainers to ensure a common direction.
This project was originally developed by VirtusLab and the following CONTRIBUTORS.