2019-01-10 18:01:04 +01:00
2019-01-10 16:46:07 +01:00
2018-12-12 09:43:29 +01:00
2019-01-10 16:50:44 +01:00
2019-01-10 17:59:31 +01:00
2019-01-10 16:50:44 +01:00
2019-01-09 06:20:08 +01:00
2018-10-26 18:17:26 +02:00
2018-11-05 15:59:26 +01:00
2018-12-20 16:36:11 +01:00
2019-01-10 17:42:38 +01:00
2019-01-10 17:59:31 +01:00
2019-01-10 17:27:21 +01:00
2018-10-19 16:20:19 +02:00
2019-01-10 17:11:01 +01:00
2019-01-10 18:01:04 +01:00

Jenkins Operator

What's Jenkins Operator?

Jenkins operator it's a Kubernetes native operator which fully manages Jenkins on Kubernetes. It was built with immutability and declarative configuration as code in mind.

It provides out of the box:

  • 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 write 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

  1. Installation
  2. Getting Started
  3. How it works
  4. Developer Guide

Contribution

Feel free to file issues or pull requests.

TODO

Common:

  • simple API for generating Kubernetes events using one common format
  • create Jenkins Jobs View for all jobs managed by the operator
  • code clean up and more tests

Base configuration:

User configuration:

  • backup and restore for Jenkins jobs running as standalone job (AWS, GCP, Azure)
  • trigger backup job before pod deletion using preStop k8s hooks
  • verify Jenkins configuration events
S
Description
No description provided
Readme
86 MiB
Languages
Go 82.3%
Shell 4.6%
HTML 4.5%
Makefile 4%
SCSS 3%
Other 1.6%