1
0

Customize jenkins helm chart for molgenis cluster.

This commit is contained in:
Fleur Kelpin 2018-06-26 15:06:35 +02:00
parent 787cbbb479
commit 26423f6583
5 changed files with 70 additions and 27 deletions

View File

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 133 KiB

View File

@ -1,16 +1,10 @@
name: jenkins name: jenkins
home: https://jenkins.io/ home: https://jenkins.io/
version: 0.16.3 version: 0.2.0
appVersion: 2.107 appVersion: 2.107
description: Open source continuous integration server. It supports multiple SCM tools description: Open source continuous integration server. It supports multiple SCM tools
including CVS, Subversion and Git. It can execute Apache Ant and Apache Maven-based including CVS, Subversion and Git. It can execute Apache Ant and Apache Maven-based
projects as well as arbitrary scripts. projects as well as arbitrary scripts.
sources: sources:
- https://github.com/jenkinsci/jenkins - https://git.webhosting.rug.nl/molgenis/molgenis-ops-docker-helm.git
- https://github.com/jenkinsci/docker-jnlp-slave icon: https://git.webhosting.rug.nl/molgenis/molgenis-ops-docker-helm/raw/master/jenkins/catalogIcon-molgenis-jenkins.svg
maintainers:
- name: lachie83
email: lachlan.evenson@microsoft.com
- name: viglesiasce
email: viglesias@google.com
icon: https://wiki.jenkins-ci.org/download/attachments/2916393/logo.png

View File

@ -1,6 +0,0 @@
approvers:
- lachie83
- viglesiasce
reviewers:
- lachie83
- viglesiasce

View File

@ -10,20 +10,21 @@ Inspired by the awesome work of Carlos Sanchez <mailto:carlos@apache.org>
This chart will do the following: This chart will do the following:
* 1 x Jenkins Master with port 8080 exposed on an external LoadBalancer * 1 x Jenkins Master with port 8080 exposed on an external ClusterIP
* All using Kubernetes Deployments * All using Kubernetes Deployments
## Installing the Chart ## Installing the Chart
To install the chart with the release name `my-release`: In the rancher UI, choose the molgenis-jenkins app from the catalog and deploy it.
```bash
$ helm install --name my-release stable/jenkins
```
## Configuration ## Configuration
The following tables list the configurable parameters of the Jenkins chart and their default values. The following tables list the configurable parameters of the Jenkins chart and their default values.
You can paste these values into the Rancher Answers if you like.
Array values can be added as {value, value, value}, e.g.
```
Master.InstallPlugins={kubernetes:1.8.4, workflow-aggregator:2.5, workflow-job:2.21, credentials-binding:1.16, git:3.9.1}
```
### Jenkins Master ### Jenkins Master
| Parameter | Description | Default | | Parameter | Description | Default |

View File

@ -38,12 +38,13 @@ Master:
ServicePort: 8080 ServicePort: 8080
# For minikube, set this to NodePort, elsewhere use LoadBalancer # For minikube, set this to NodePort, elsewhere use LoadBalancer
# Use ClusterIP if your setup includes ingress controller # Use ClusterIP if your setup includes ingress controller
ServiceType: LoadBalancer ServiceType: ClusterIP
# Master Service annotations # Master Service annotations
ServiceAnnotations: {} ServiceAnnotations: {}
# service.beta.kubernetes.io/aws-load-balancer-backend-protocol: https # service.beta.kubernetes.io/aws-load-balancer-backend-protocol: https
# Used to create Ingress record (should used with ServiceType: ClusterIP) # Used to create Ingress record (should used with ServiceType: ClusterIP)
# HostName: jenkins.cluster.local # HostName: jenkins.cluster.local
HostName: jenkins.molgenis.org
# NodePort: <to set explicitly, choose port between 30000-32767 # NodePort: <to set explicitly, choose port between 30000-32767
ContainerPort: 8080 ContainerPort: 8080
# Enable Kubernetes Liveness and Readiness Probes # Enable Kubernetes Liveness and Readiness Probes
@ -78,11 +79,11 @@ Master:
# JMXPort: 4000 # JMXPort: 4000
# List of plugins to be install during Jenkins master start # List of plugins to be install during Jenkins master start
InstallPlugins: InstallPlugins:
- kubernetes:1.1 - kubernetes:1.8.4
- workflow-aggregator:2.5 - workflow-aggregator:2.5
- workflow-job:2.15 - workflow-job:2.21
- credentials-binding:1.13 - credentials-binding:1.16
- git:3.6.4 - git:3.9.1
# Used to approve a list of groovy functions in pipelines used the script-security plugin. Can be viewed under /scriptApproval # Used to approve a list of groovy functions in pipelines used the script-security plugin. Can be viewed under /scriptApproval
# ScriptApproval: # ScriptApproval:
# - "method groovy.json.JsonSlurperClassic parseText java.lang.String" # - "method groovy.json.JsonSlurperClassic parseText java.lang.String"
@ -101,6 +102,59 @@ Master:
# Jobs: |- # Jobs: |-
# test: |- # test: |-
# <<xml here>> # <<xml here>>
# Jobs: |-
# molgenis: |-
# <?xml version='1.1' encoding='UTF-8'?>
# <org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject plugin="workflow-multibranch@2.19">
# <actions/>
# <description></description>
# <properties>
# <org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig plugin="pipeline-model-definition@1.3">
# <dockerLabel></dockerLabel>
# <registry plugin="docker-commons@1.13"/>
# </org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig>
# </properties>
# <folderViews class="jenkins.branch.MultiBranchProjectViewHolder" plugin="branch-api@2.0.20">
# <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
# </folderViews>
# <healthMetrics>
# <com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric plugin="cloudbees-folder@6.5.1">
# <nonRecursive>false</nonRecursive>
# </com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric>
# </healthMetrics>
# <icon class="jenkins.branch.MetadataActionFolderIcon" plugin="branch-api@2.0.20">
# <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
# </icon>
# <orphanedItemStrategy class="com.cloudbees.hudson.plugins.folder.computed.DefaultOrphanedItemStrategy" plugin="cloudbees-folder@6.5.1">
# <pruneDeadBranches>true</pruneDeadBranches>
# <daysToKeep>-1</daysToKeep>
# <numToKeep>-1</numToKeep>
# </orphanedItemStrategy>
# <triggers/>
# <disabled>false</disabled>
# <sources class="jenkins.branch.MultiBranchProject$BranchSourceList" plugin="branch-api@2.0.20">
# <data>
# <jenkins.branch.BranchSource>
# <source class="jenkins.plugins.git.GitSCMSource" plugin="git@3.9.1">
# <id>a1f535cd-ab83-4d42-8993-0c3e59cf139f</id>
# <remote>http://github.com/molgenis/molgenis.git</remote>
# <credentialsId></credentialsId>
# <traits>
# <jenkins.plugins.git.traits.BranchDiscoveryTrait/>
# </traits>
# </source>
# <strategy class="jenkins.branch.DefaultBranchPropertyStrategy">
# <properties class="empty-list"/>
# </strategy>
# </jenkins.branch.BranchSource>
# </data>
# <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
# </sources>
# <factory class="org.jenkinsci.plugins.workflow.multibranch.WorkflowBranchProjectFactory">
# <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
# <scriptPath>Jenkinsfile</scriptPath>
# </factory>
# </org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject>
CustomConfigMap: false CustomConfigMap: false
# Node labels and tolerations for pod assignment # Node labels and tolerations for pod assignment
# ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
@ -143,7 +197,7 @@ Agent:
# jenkins-agent: v1 # jenkins-agent: v1
Persistence: Persistence:
Enabled: true Enabled: false
## A manually managed Persistent Volume and Claim ## A manually managed Persistent Volume and Claim
## Requires Persistence.Enabled: true ## Requires Persistence.Enabled: true
## If defined, PVC must be created manually before volume will be bound ## If defined, PVC must be created manually before volume will be bound