1
0
Fork 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
home: https://jenkins.io/
version: 0.16.3
version: 0.2.0
appVersion: 2.107
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
projects as well as arbitrary scripts.
sources:
- https://github.com/jenkinsci/jenkins
- https://github.com/jenkinsci/docker-jnlp-slave
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
- https://git.webhosting.rug.nl/molgenis/molgenis-ops-docker-helm.git
icon: https://git.webhosting.rug.nl/molgenis/molgenis-ops-docker-helm/raw/master/jenkins/catalogIcon-molgenis-jenkins.svg

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:
* 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
## Installing the Chart
To install the chart with the release name `my-release`:
```bash
$ helm install --name my-release stable/jenkins
```
In the rancher UI, choose the molgenis-jenkins app from the catalog and deploy it.
## Configuration
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
| Parameter | Description | Default |

View File

@ -38,12 +38,13 @@ Master:
ServicePort: 8080
# For minikube, set this to NodePort, elsewhere use LoadBalancer
# Use ClusterIP if your setup includes ingress controller
ServiceType: LoadBalancer
ServiceType: ClusterIP
# Master Service annotations
ServiceAnnotations: {}
# service.beta.kubernetes.io/aws-load-balancer-backend-protocol: https
# Used to create Ingress record (should used with ServiceType: ClusterIP)
# HostName: jenkins.cluster.local
HostName: jenkins.molgenis.org
# NodePort: <to set explicitly, choose port between 30000-32767
ContainerPort: 8080
# Enable Kubernetes Liveness and Readiness Probes
@ -78,11 +79,11 @@ Master:
# JMXPort: 4000
# List of plugins to be install during Jenkins master start
InstallPlugins:
- kubernetes:1.1
- kubernetes:1.8.4
- workflow-aggregator:2.5
- workflow-job:2.15
- credentials-binding:1.13
- git:3.6.4
- workflow-job:2.21
- credentials-binding:1.16
- git:3.9.1
# Used to approve a list of groovy functions in pipelines used the script-security plugin. Can be viewed under /scriptApproval
# ScriptApproval:
# - "method groovy.json.JsonSlurperClassic parseText java.lang.String"
@ -101,6 +102,59 @@ Master:
# Jobs: |-
# test: |-
# <<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
# Node labels and tolerations for pod assignment
# ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
@ -143,7 +197,7 @@ Agent:
# jenkins-agent: v1
Persistence:
Enabled: true
Enabled: false
## A manually managed Persistent Volume and Claim
## Requires Persistence.Enabled: true
## If defined, PVC must be created manually before volume will be bound