[spinnaker] Make Jenkins optional (#3626)

* Make Jenkins optional

Some organizations may not use jenkins.

- Adds jenkins.enabled
- Load requirements, hooks, and config maps if jenkins
enabled

Update dependencies

bump chart version

Actually bump version

* Add jenkins.enabled value to stable/spinnaker

* Update Jenkins

* Update requirements.lock

* Use new config override mechanism

* Remove Jenkins test from Spinnaker chart
This commit is contained in:
Benjamin W. Smith
2018-02-26 12:04:45 -08:00
committed by k8s-ci-robot
parent f616af436b
commit da59a7a3fe
11 changed files with 33 additions and 24 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
apiVersion: v1
description: Open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence.
name: spinnaker
version: 0.3.13
version: 0.3.14
appVersion: 1.1.0
home: http://spinnaker.io/
sources:
+3 -3
View File
@@ -7,6 +7,6 @@ dependencies:
version: 0.4.3
- name: jenkins
repository: https://kubernetes-charts.storage.googleapis.com/
version: 0.11.1
digest: sha256:8035b2a0deff9dec733c243a02620b6229c909fce48d4136ffb18957d2495752
generated: 2018-01-09T19:17:57.721455275-06:00
version: 0.13.3
digest: sha256:5cdbf5aa7fa2f1fab477b75cbe931bb053e261c4437413af3c8d8a39b119924c
generated: 2018-02-25T13:11:01.017154568-08:00
+2 -1
View File
@@ -7,5 +7,6 @@ dependencies:
repository: https://kubernetes-charts.storage.googleapis.com/
condition: minio.enabled
- name: jenkins
version: 0.11.1
version: 0.13.3
repository: https://kubernetes-charts.storage.googleapis.com/
condition: jenkins.enabled
@@ -1,9 +1,10 @@
{{- define "override_config_map" -}}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{.Release.Name}}-jenkins
labels:
app: {{ template "fullname" . }}
app: {{ template "jenkins.fullname" . }}
data:
config.xml: |-
<?xml version='1.0' encoding='UTF-8'?>
@@ -28,10 +29,10 @@ data:
<org.csanchez.jenkins.plugins.kubernetes.KubernetesCloud plugin="kubernetes@0.8">
<name>kubernetes</name>
<templates>
{{- if .Values.jenkins.Agent.Enabled }}
{{- if .Values.Agent.Enabled }}
<org.csanchez.jenkins.plugins.kubernetes.PodTemplate>
<name>jnlp</name>
<image>{{ .Values.jenkins.Agent.Image }}:{{ .Values.jenkins.Agent.ImageTag }}</image>
<image>{{ .Values.Agent.Image }}:{{ .Values.Agent.ImageTag }}</image>
<privileged>false</privileged>
<alwaysPullImage>false</alwaysPullImage>
<command></command>
@@ -41,15 +42,15 @@ data:
<label></label>
<nodeSelector>
{{- $local := dict "first" true }}
{{- range $key, $value := .Values.jenkins.Agent.NodeSelector }}
{{- range $key, $value := .Values.Agent.NodeSelector }}
{{- if not $local.first }},{{- end }}
{{- $key }}={{ $value }}
{{- $_ := set $local "first" false }}
{{- end }}</nodeSelector>
<resourceRequestCpu>{{ .Values.jenkins.Agent.Cpu }}</resourceRequestCpu>
<resourceRequestMemory>{{ .Values.jenkins.Agent.Memory }}</resourceRequestMemory>
<resourceLimitCpu>{{ .Values.jenkins.Agent.Cpu }}</resourceLimitCpu>
<resourceLimitMemory>{{ .Values.jenkins.Agent.Memory }}</resourceLimitMemory>
<resourceRequestCpu>{{ .Values.Agent.Cpu }}</resourceRequestCpu>
<resourceRequestMemory>{{ .Values.Agent.Memory }}</resourceRequestMemory>
<resourceLimitCpu>{{ .Values.Agent.Cpu }}</resourceLimitCpu>
<resourceLimitMemory>{{ .Values.Agent.Memory }}</resourceLimitMemory>
<volumes>
<org.csanchez.jenkins.plugins.kubernetes.PodVolumes_-HostPathVolume>
<mountPath>/usr/bin/docker</mountPath>
@@ -97,24 +98,25 @@ data:
mkdir -p /usr/share/jenkins/ref/secrets/;
echo "false" > /usr/share/jenkins/ref/secrets/slave-to-master-security-kill-switch;
cp -n /var/jenkins_config/config.xml /var/jenkins_home;
{{- if .Values.jenkins.Master.InstallPlugins }}
{{- if .Values.Master.InstallPlugins }}
cp -n /var/jenkins_config/plugins.txt /var/jenkins_home;
/usr/local/bin/install-plugins.sh `echo $(cat /var/jenkins_home/plugins.txt)`;
{{- end }}
{{- if .Values.jenkins.Master.ScriptApproval }}
{{- if .Values.Master.ScriptApproval }}
cp -n /var/jenkins_config/scriptapproval.xml /var/jenkins_home/scriptApproval.xml;
{{- end }}
{{- if .Values.jenkins.Master.InitScripts }}
{{- if .Values.Master.InitScripts }}
mkdir -p /var/jenkins_home/init.groovy.d/;
cp -n /var/jenkins_config/*.groovy /var/jenkins_home/init.groovy.d/
{{- end }}
{{- range $key, $val := .Values.jenkins.Master.InitScripts }}
{{- range $key, $val := .Values.Master.InitScripts }}
init{{ $key }}.groovy: |-
{{ $val | indent 4}}
{{- end }}
plugins.txt: |-
{{- if .Values.jenkins.Master.InstallPlugins }}
{{- range $index, $val := .Values.jenkins.Master.InstallPlugins }}
{{- if .Values.Master.InstallPlugins }}
{{- range $index, $val := .Values.Master.InstallPlugins }}
{{ $val | indent 4 }}
{{- end }}
{{- end }}
{{- end }}
@@ -1,3 +1,4 @@
{{ if .Values.jenkins.enabled -}}
apiVersion: v1
kind: ConfigMap
metadata:
@@ -189,4 +190,5 @@ data:
</definition>
<triggers/>
<disabled>false</disabled>
</flow-definition>
</flow-definition>
{{- end }}
@@ -420,7 +420,7 @@ data:
#
# Note that jenkins is not installed with Spinnaker so you must obtain this
# on your own if you are interested.
enabled: true
enabled: {{ .Values.jenkins.enabled }}
defaultMaster:
name: default
baseUrl: http://{{ .Release.Name }}-jenkins:8080/
@@ -7,6 +7,3 @@ data:
@test "Testing Spinnaker UI is accessible" {
curl --retry 12 --retry-delay 10 {{ template "fullname" . }}-deck:9000
}
@test "Testing Jenkins UI is accessible" {
curl --retry 12 --retry-delay 10 {{.Release.Name}}-jenkins:8080/login
}
@@ -1,3 +1,4 @@
{{ if .Values.jenkins.enabled -}}
apiVersion: batch/v1
kind: Job
metadata:
@@ -44,3 +45,4 @@ spec:
volumeMounts:
- name: jenkins-jobs
mountPath: /jobs
{{- end }}
@@ -1,3 +1,4 @@
{{ if .Values.jenkins.enabled -}}
apiVersion: batch/v1
kind: Job
metadata:
@@ -44,3 +45,4 @@ spec:
volumeMounts:
- name: jenkins-jobs
mountPath: /jobs
{{- end }}
@@ -1,3 +1,4 @@
{{ if .Values.jenkins.enabled -}}
apiVersion: batch/v1
kind: Job
metadata:
@@ -44,3 +45,4 @@ spec:
volumeMounts:
- name: jenkins-jobs
mountPath: /jobs
{{- end }}
+1
View File
@@ -111,6 +111,7 @@ gcs:
# with Spinnaker, visit:
# https://www.spinnaker.io/setup/ci/jenkins/
jenkins:
enabled: true
Master:
Cpu: "500m"
Memory: "512Mi"