Skip to content

Just a chart for learning how to build/change a Jenkins deployment

Notifications You must be signed in to change notification settings

v1k0d3n/jinkit-jenkins

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jenkins Helm Chart

Jenkins master and slave cluster utilizing the Jenkins Kubernetes plugin

Inspired by the awesome work of Carlos Sanchez carlos@apache.org

Chart Details

This chart will do the following:

  • 1 x Jenkins Master with port 8080 exposed on an external LoadBalancer
  • All using Kubernetes Deployments

Installing the Chart

To install the chart with the release name my-release:

$ helm install --name my-release stable/jenkins

Configuration

The following tables lists the configurable parameters of the Jenkins chart and their default values.

Jenkins Master

Parameter Description Default
Master.Name Jenkins master name jenkins-master
Master.Image Master image name gcr.io/kubernetes-charts-ci/jenkins-master-k8s
Master.ImageTag Master image tag v0.1.0
Master.ImagePullPolicy Master image pull policy Always
Master.Component k8s selector key jenkins-master
Master.Cpu Master requested cpu 200m
Master.Memory Master requested memory 256Mi
Master.ServicePort k8s service port 8080
Master.ContainerPort Master listening port 8080
Master.SlaveListenerPort Listening port for agents 50000

Jenkins Agent

Parameter Description Default
Agent.Image Agent image name jenkinsci/jnlp-slave
Agent.ImageTag Agent image tag 2.52
Agent.Cpu Agent requested cpu 200m
Agent.Memory Agent requested memory 256Mi

Specify each parameter using the --set key=value[,key=value] argument to helm install.

Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,

$ helm install --name my-release -f values.yaml stable/jenkins

Tip: You can use the default values.yaml

Persistence

The Jenkins image stores persistence under /var/jenkins_home path of the container. A Persistent Volume Claim is used to keep the data across deployments. This is known to work in GCE, AWS, and minikube.

Todo

  • Enable Docker-in-Docker or Docker-on-Docker support on the Jenkins agents

About

Just a chart for learning how to build/change a Jenkins deployment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages