From 9f4d54e432b53b5c5ffd104c1a3f795f95837131 Mon Sep 17 00:00:00 2001 From: Ruan Bekker Date: Sat, 12 Oct 2019 18:06:27 +0200 Subject: [PATCH 1/4] Add jenkins to marketplace --- jenkins/app.yaml | 85 ++++++++++++++++++++++++++++++++++++++++ jenkins/logo.png | Bin 0 -> 38982 bytes jenkins/manifest.yaml | 22 +++++++++++ jenkins/post_install.md | 54 +++++++++++++++++++++++++ 4 files changed, 161 insertions(+) create mode 100644 jenkins/app.yaml create mode 100644 jenkins/logo.png create mode 100644 jenkins/manifest.yaml create mode 100644 jenkins/post_install.md diff --git a/jenkins/app.yaml b/jenkins/app.yaml new file mode 100644 index 00000000..903be480 --- /dev/null +++ b/jenkins/app.yaml @@ -0,0 +1,85 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: jenkins-pv-volume + labels: + type: local +spec: + storageClassName: manual + capacity: + storage: $VOLUME_SIZE + accessModes: + - ReadWriteOnce + hostPath: + path: "/var/jenkins_home" +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: jenkins-pv-claim +spec: + storageClassName: manual + accessModes: + - ReadWriteOnce + resources: + requests: + storage: $VOLUME_SIZE +--- +apiVersion: v1 +kind: Service +metadata: + name: jenkins +spec: + ports: + - name: jenkins + port: 8080 + targetPort: 8080 + - name: jenkins-agent + port: 50000 + targetPort: 50000 + selector: + app: jenkins + clusterIP: None +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: jenkins +spec: + selector: + matchLabels: + app: jenkins + strategy: + type: Recreate + template: + metadata: + labels: + app: jenkins + spec: + securityContext: + fsGroup: 1000 + initContainers: + - name: permissions + image: busybox + imagePullPolicy: IfNotPresent + securityContext: + privileged: true + volumeMounts: + - name: jenkins-persistent-storage + mountPath: /var/jenkins_home + command: ["chown", "-R", "1000:1000", "/var/jenkins_home"] + containers: + - image: jenkinsci/blueocean:1.18.1 + name: jenkins + ports: + - containerPort: 8080 + name: jenkins + - containerPort: 50000 + name: jenkins-agent + volumeMounts: + - name: jenkins-persistent-storage + mountPath: /var/jenkins_home + volumes: + - name: jenkins-persistent-storage + persistentVolumeClaim: + claimName: jenkins-pv-claim diff --git a/jenkins/logo.png b/jenkins/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7b2dd3731d9221016436eb4c25f23f3c8c6bcef9 GIT binary patch literal 38982 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 + +Get the jenkins pod name: + +``` +$ kubectl get pods --selector app=jenkins +``` + +Then exec into the container and retrieve the initial password: + +``` +$ kubectl exec -it jenkins-xxxxxxxxx-xxxxx -- cat /var/jenkins_home/secrets/initialAdminPassword +423d1248daee49b8949a73abe52b3a43 +``` + +After you provide the password, select continue and then if you want to stick with the defaults, "Install the suggested plugins": + +F911FD13-862D-4313-9EA0-02598DA92315 + +In the user creation wizard, if you want to create a new user you will be faced with a "No valid crumb was included in the request" when using this in Kubernetes. This has been raised in issue [JENKINS-42200](https://issues.jenkins-ci.org/browse/JENKINS-42200), and the workaround is to continue as admin, and configured "Enable proxy compatibility" in the security settings of jenkins. + +After you logged in as admin, select "Manage Jenkins", "Configure Global Security" and enable proxy compatibility under "CSRF Protection": + +75431463-2FC5-47AF-BE21-66BD4390534A + From 302a93fff4db26cba4458e7f4edd78b7a9e2e0e4 Mon Sep 17 00:00:00 2001 From: Ruan Bekker Date: Sat, 12 Oct 2019 18:14:34 +0200 Subject: [PATCH 2/4] Reduce image size --- jenkins/logo.png | Bin 38982 -> 11266 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/jenkins/logo.png b/jenkins/logo.png index 7b2dd3731d9221016436eb4c25f23f3c8c6bcef9..88cbdd793e9ee56c521fe966884c97d5de4f64bf 100644 GIT binary patch literal 11266 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 literal 38982 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 Date: Sun, 13 Oct 2019 15:27:40 +0200 Subject: [PATCH 3/4] Change upstream to allow dynamic password config --- jenkins/app.yaml | 31 ++++++++++++------------------- jenkins/manifest.yaml | 9 ++++++++- jenkins/post_install.md | 34 +++------------------------------- 3 files changed, 23 insertions(+), 51 deletions(-) diff --git a/jenkins/app.yaml b/jenkins/app.yaml index 903be480..5ba92a2c 100644 --- a/jenkins/app.yaml +++ b/jenkins/app.yaml @@ -11,7 +11,7 @@ spec: accessModes: - ReadWriteOnce hostPath: - path: "/var/jenkins_home" + path: "/mnt/data" --- apiVersion: v1 kind: PersistentVolumeClaim @@ -41,36 +41,29 @@ spec: app: jenkins clusterIP: None --- -apiVersion: apps/v1 -kind: Deployment +apiVersion: apps/v1 +kind: StatefulSet metadata: name: jenkins spec: selector: matchLabels: app: jenkins - strategy: - type: Recreate + serviceName: jenkins + replicas: 1 template: metadata: labels: app: jenkins spec: - securityContext: - fsGroup: 1000 - initContainers: - - name: permissions - image: busybox - imagePullPolicy: IfNotPresent - securityContext: - privileged: true - volumeMounts: - - name: jenkins-persistent-storage - mountPath: /var/jenkins_home - command: ["chown", "-R", "1000:1000", "/var/jenkins_home"] containers: - - image: jenkinsci/blueocean:1.18.1 + - image: bitnami/jenkins:2.190.1-debian-9-r14 name: jenkins + env: + - name: JENKINS_USERNAME + value: $JENKINS_USERNAME + - name: JENKINS_PASSWORD + value: $JENKINS_PASSWORD ports: - containerPort: 8080 name: jenkins @@ -78,7 +71,7 @@ spec: name: jenkins-agent volumeMounts: - name: jenkins-persistent-storage - mountPath: /var/jenkins_home + mountPath: /bitnami volumes: - name: jenkins-persistent-storage persistentVolumeClaim: diff --git a/jenkins/manifest.yaml b/jenkins/manifest.yaml index caa17c35..ba89934c 100644 --- a/jenkins/manifest.yaml +++ b/jenkins/manifest.yaml @@ -1,6 +1,6 @@ --- name: Jenkins -version: 1.18.1 +version: 2.190.1 maintainer: "@ruanbekker" description: Jenkins is a Continuous Integration and Delivery server url: https://jenkins.io @@ -20,3 +20,10 @@ plans: configuration: VOLUME_SIZE: value: 20Gi +configuration: + JENKINS_USERNAME: + label: "Jenkins username" + value: "CIVO:ALPHANUMERIC(8)" + JENKINS_PASSWORD: + label: "Jenkins password" + value: "CIVO:ALPHANUMERIC(30)" diff --git a/jenkins/post_install.md b/jenkins/post_install.md index 6e1190ac..18072a28 100644 --- a/jenkins/post_install.md +++ b/jenkins/post_install.md @@ -1,6 +1,6 @@ ## Jenkins -### External access +### External access By default external access to the Jenkins UI port isn't available. This is easily changed by applying the following YAML to your cluster with `kubectl apply -f jenkins-service.yaml` (or whatever you call the file containing the contents below): @@ -21,34 +21,6 @@ spec: This will open up http://YOUR_CLUSTER_ID.k8s.civo.com:8080 to the whole world. You should lock this down in the [firewall](https://www.civo.com/account/firewalls) automatically created in Civo for your Kubernetes cluster. Locking down the firewall will only affect access from OUTSIDE of your Kubernetes cluster, access from your applications within Kubernetes will not be affected. -### Usage instruction - -You can use this application from within your cluster by just using the hostname `jenkins`, so jenkins agents can use the hostname `jenkins` and the port `5000`. - -After jenkins has been deployed and you have exposed external access, you can access jenkins on the mentioned url and port, and then jenkins will request the initial password: - -5CE566FA-2B7F-42B5-B19F-63D19A4C4BC0 - -Get the jenkins pod name: - -``` -$ kubectl get pods --selector app=jenkins -``` - -Then exec into the container and retrieve the initial password: - -``` -$ kubectl exec -it jenkins-xxxxxxxxx-xxxxx -- cat /var/jenkins_home/secrets/initialAdminPassword -423d1248daee49b8949a73abe52b3a43 -``` - -After you provide the password, select continue and then if you want to stick with the defaults, "Install the suggested plugins": - -F911FD13-862D-4313-9EA0-02598DA92315 - -In the user creation wizard, if you want to create a new user you will be faced with a "No valid crumb was included in the request" when using this in Kubernetes. This has been raised in issue [JENKINS-42200](https://issues.jenkins-ci.org/browse/JENKINS-42200), and the workaround is to continue as admin, and configured "Enable proxy compatibility" in the security settings of jenkins. - -After you logged in as admin, select "Manage Jenkins", "Configure Global Security" and enable proxy compatibility under "CSRF Protection": - -75431463-2FC5-47AF-BE21-66BD4390534A +### Usage instruction +You can use this application from within your cluster by just using the hostname `jenkins`, so jenkins agents can use the hostname `jenkins` and the port `50000`. The username and password for jenkins is set via environment variables, `JENKINS_USERNAME` and `JENKINS_PASSWORD` using `CIVO:ALPHANUMERIC(x)` value and is presented in the Web UI and CLI. From fdd1c017bba1ed988394c073c4aab625136c6cb7 Mon Sep 17 00:00:00 2001 From: Ruan Bekker Date: Tue, 22 Oct 2019 23:39:58 +0200 Subject: [PATCH 4/4] add persistence and traefik ingress --- jenkins/app.yaml | 33 ++++++++++++++++++++++++--------- jenkins/post_install.md | 24 ++++++++++++------------ 2 files changed, 36 insertions(+), 21 deletions(-) diff --git a/jenkins/app.yaml b/jenkins/app.yaml index 5ba92a2c..a262737f 100644 --- a/jenkins/app.yaml +++ b/jenkins/app.yaml @@ -1,24 +1,35 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: jenkins-pv-volume + name: jenkins-pv + namespace: apps labels: - type: local + name: jenkins-data + type: longhorn spec: - storageClassName: manual capacity: storage: $VOLUME_SIZE + volumeMode: Filesystem + storageClassName: longhorn accessModes: - ReadWriteOnce - hostPath: - path: "/mnt/data" + csi: + driver: io.rancher.longhorn + fsType: ext4 + volumeAttributes: + numberOfReplicates: '2' + staleReplicaTimeout: '20' + volumeHandle: jenkins-data --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: jenkins-pv-claim + labels: + type: longhorn + app: jenkins spec: - storageClassName: manual + storageClassName: longhorn accessModes: - ReadWriteOnce resources: @@ -42,19 +53,23 @@ spec: clusterIP: None --- apiVersion: apps/v1 -kind: StatefulSet +kind: Deployment metadata: name: jenkins + labels: + app: jenkins spec: selector: matchLabels: app: jenkins - serviceName: jenkins - replicas: 1 + tier: jenkins + strategy: + type: Recreate template: metadata: labels: app: jenkins + tier: jenkins spec: containers: - image: bitnami/jenkins:2.190.1-debian-9-r14 diff --git a/jenkins/post_install.md b/jenkins/post_install.md index 18072a28..3d7613be 100644 --- a/jenkins/post_install.md +++ b/jenkins/post_install.md @@ -2,24 +2,24 @@ ### External access -By default external access to the Jenkins UI port isn't available. This is easily changed by applying the following YAML to your cluster with `kubectl apply -f jenkins-service.yaml` (or whatever you call the file containing the contents below): +By default external access to the Jenkins UI port isn't available. This is easily changed by applying the following YAML to apply ingress via traefik to your cluster with `kubectl apply -f jenkins-ingress.yaml` (or whatever you call the file containing the contents below): ``` -apiVersion: v1 -kind: Service +apiVersion: extensions/v1beta1 +kind: Ingress metadata: - name: jenkins-service + name: jenkins-ingress spec: - type: LoadBalancer - ports: - - port: 8080 - targetPort: 8080 - protocol: TCP - selector: - app: jenkins + rules: + - host: jenkins.your-cluster-id.k8s.civo.com + http: + paths: + - backend: + serviceName: jenkins-frontend + servicePort: 80 ``` -This will open up http://YOUR_CLUSTER_ID.k8s.civo.com:8080 to the whole world. You should lock this down in the [firewall](https://www.civo.com/account/firewalls) automatically created in Civo for your Kubernetes cluster. Locking down the firewall will only affect access from OUTSIDE of your Kubernetes cluster, access from your applications within Kubernetes will not be affected. +This will open up http://jenkins.YOUR_CLUSTER_ID.k8s.civo.com to the whole world. You should lock this down in the [firewall](https://www.civo.com/account/firewalls) automatically created in Civo for your Kubernetes cluster. Locking down the firewall will only affect access from OUTSIDE of your Kubernetes cluster, access from your applications within Kubernetes will not be affected. ### Usage instruction