From 25886e49f3b0a7b5574251b8afa006bae665d0a3 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Sat, 3 Dec 2016 20:10:17 +0100 Subject: [PATCH 001/239] Use Rubex --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e1942f9..0b0b873 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -Ruby Sample App on OpenShift -============================ +Ruby Sample App on OpenShift (Rubex) +==================================== This is a basic ruby application for OpenShift v3 that you can use as a starting point to develop your own application and deploy it on an [OpenShift](https://github.com/openshift/origin) cluster. From 8085f3dedbea6023674c05fec09a6591004017bb Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Sat, 3 Dec 2016 20:14:11 +0100 Subject: [PATCH 002/239] Fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0b0b873..34251ea 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Ruby Sample App on OpenShift (Rubex) +Ruby Sample App on OpenShift (rubex) ==================================== This is a basic ruby application for OpenShift v3 that you can use as a starting point to develop your own application and deploy it on an [OpenShift](https://github.com/openshift/origin) cluster. From d509a1d4947d9400786b74162bdc12508bc342a0 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Sat, 3 Dec 2016 20:20:18 +0100 Subject: [PATCH 003/239] Use Rubex --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index a709f06..fefea57 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift

+

Welcome to your Ruby application on OpenShift (rubex)

From b3b97b37c687fd5a72a24614918922467b0fced5 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Sun, 4 Dec 2016 12:38:08 +0100 Subject: [PATCH 004/239] add version information --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index fefea57..ffb975d 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (rubex)

+

Welcome to your Ruby application on OpenShift (v1)

From 383a67d944c88dde0125b58b6d6d46e5b9fde73f Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Sun, 4 Dec 2016 12:41:09 +0100 Subject: [PATCH 005/239] Spell out the version --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index ffb975d..abf376e 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (v1)

+

Welcome to your Ruby application on OpenShift (version 1)

From 0af81a17683740520281dfdd1b071beb48eba701 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Sun, 4 Dec 2016 23:34:04 +0100 Subject: [PATCH 006/239] Upgrade to version 2 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index abf376e..61efc96 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 1)

+

Welcome to your Ruby application on OpenShift (version 2)

From e51f8c2a59e49dddb9978ac4e2617022ff393a9e Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 5 Dec 2016 00:41:56 +0100 Subject: [PATCH 007/239] Bump the version --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 61efc96..0b8b577 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 2)

+

Welcome to your Ruby application on OpenShift (version 3)

From d166f17f52a22c4cb19739bf0de9cf55ff00ea70 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 5 Dec 2016 15:27:56 +0100 Subject: [PATCH 008/239] Add OpenShift config for deployment --- .vscode/settings.json | 3 ++ deployment/config/dev/app.yaml | 65 ++++++++++++++++++++++++++++++++ deployment/config/dev/build.yaml | 42 +++++++++++++++++++++ deployment/config/test/app.yaml | 53 ++++++++++++++++++++++++++ 4 files changed, 163 insertions(+) create mode 100644 .vscode/settings.json create mode 100644 deployment/config/dev/app.yaml create mode 100644 deployment/config/dev/build.yaml create mode 100644 deployment/config/test/app.yaml diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..ce072c8 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "editor.tabSize": 2 +} diff --git a/deployment/config/dev/app.yaml b/deployment/config/dev/app.yaml new file mode 100644 index 0000000..e25f2dd --- /dev/null +++ b/deployment/config/dev/app.yaml @@ -0,0 +1,65 @@ +--- +apiVersion: v1 +kind: DeploymentConfig +metadata: + labels: + app: frontend + name: frontend +spec: + replicas: 1 + selector: + app: frontend + deploymentconfig: frontend + template: + metadata: + annotations: + openshift.io/container.frontend.image.entrypoint: '["container-entrypoint","/bin/sh","-c","$STI_SCRIPTS_PATH/usage"]' + labels: + app: frontend + deploymentconfig: frontend + spec: + containers: + - image: frontend:latest + name: frontend + ports: + - containerPort: 8080 + protocol: TCP + triggers: + - type: ConfigChange + - imageChangeParams: + automatic: true + containerNames: + - frontend + from: + kind: ImageStreamTag + name: frontend:latest + type: ImageChange +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app: frontend + name: frontend +spec: + ports: + - name: 8080-tcp + port: 8080 + protocol: TCP + targetPort: 8080 + selector: + app: frontend + deploymentconfig: frontend +--- +apiVersion: v1 +kind: Route +metadata: + labels: + app: frontend + name: frontend +spec: + port: + targetPort: 8080-tcp + to: + kind: Service + name: frontend diff --git a/deployment/config/dev/build.yaml b/deployment/config/dev/build.yaml new file mode 100644 index 0000000..43f1285 --- /dev/null +++ b/deployment/config/dev/build.yaml @@ -0,0 +1,42 @@ +--- +apiVersion: v1 +kind: ImageStream +metadata: + labels: + app: frontend + name: frontend +--- +apiVersion: v1 +kind: BuildConfig +metadata: + labels: + app: frontend + name: frontend +spec: + output: + to: + kind: ImageStreamTag + name: frontend:latest + source: + git: + uri: https://github.com/omallo/ruby-ex + type: Git + strategy: + sourceStrategy: + from: + kind: ImageStreamTag + name: ruby:2.3 + namespace: openshift + type: Source + triggers: + - github: + secret: vo6X68zZF5Vo7Gr3VE6i + type: GitHub + - generic: + secret: 1mmeM9GOBvY2aS7rlF0f + type: Generic + - type: ConfigChange + - imageChange: {} + type: ImageChange +status: + lastVersion: 0 diff --git a/deployment/config/test/app.yaml b/deployment/config/test/app.yaml new file mode 100644 index 0000000..0486df3 --- /dev/null +++ b/deployment/config/test/app.yaml @@ -0,0 +1,53 @@ +--- +apiVersion: v1 +kind: DeploymentConfig +metadata: + labels: + app: frontend + name: frontend +spec: + replicas: 1 + selector: + app: frontend + deploymentconfig: frontend + template: + metadata: + annotations: + openshift.io/container.frontend.image.entrypoint: '["container-entrypoint","/usr/libexec/s2i/run"]' + labels: + app: frontend + deploymentconfig: frontend + spec: + containers: + - image: rubex-dev/frontend:test + name: frontend + ports: + - containerPort: 8080 + protocol: TCP + triggers: + - type: ConfigChange + - imageChangeParams: + automatic: true + containerNames: + - frontend + from: + kind: ImageStreamTag + name: frontend:test + namespace: rubex-dev + type: ImageChange +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app: frontend + name: frontend +spec: + ports: + - name: 8080-tcp + port: 8080 + protocol: TCP + targetPort: 8080 + selector: + app: frontend + deploymentconfig: frontend From 65b2a832b0da5668533db5f0c052bf5664245369 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 5 Dec 2016 15:32:22 +0100 Subject: [PATCH 009/239] Add a Jenkins pipeline script --- deployment/pipeline.groovy | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 deployment/pipeline.groovy diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy new file mode 100644 index 0000000..53d3881 --- /dev/null +++ b/deployment/pipeline.groovy @@ -0,0 +1,25 @@ +def oc(args) { + def ocCmd = "/tmp/oc2 --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" + sh "${ocCmd} " + args +} + +node() { + stage('Build') { + oc "start-build frontend -w -n rubex-dev" + } + + stage('Deploy to DEV') { + // noop + } + + def isPromoteToTest = false + stage('Promote to TEST?') { + isPromoteToTest = input(message: 'Promotion', parameters: [booleanParam(defaultValue: false, name: 'Promote to TEST?')]) + } + + if (isPromoteToTest) { + stage('Deploy to TEST') { + oc "tag rubex-dev/frontend:latest rubex-dev/frontend:test" + } + } +} From a17901c49dc8774a7f123051e3524f90917add84 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 5 Dec 2016 16:56:14 +0100 Subject: [PATCH 010/239] Add script with setup instructions --- deployment/persistent-volumes.yaml | 14 ++++++++++ deployment/setup.sh | 42 ++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 deployment/persistent-volumes.yaml create mode 100644 deployment/setup.sh diff --git a/deployment/persistent-volumes.yaml b/deployment/persistent-volumes.yaml new file mode 100644 index 0000000..52f0779 --- /dev/null +++ b/deployment/persistent-volumes.yaml @@ -0,0 +1,14 @@ +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: disk-1 +spec: + capacity: + storage: 10Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + gcePersistentDisk: + pdName: disk-1 + fsType: ext4 diff --git a/deployment/setup.sh b/deployment/setup.sh new file mode 100644 index 0000000..13af5a1 --- /dev/null +++ b/deployment/setup.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +sudo htpasswd -b /etc/origin/master/htpasswd dev1 dev1 +sudo htpasswd -b /etc/origin/master/htpasswd test1 test1 + +oc login -u admin -p admin + +oc new-project rubex-dev +oc policy add-role-to-user edit dev1 -n rubex-dev +oc policy add-role-to-user view test1 -n rubex-dev + +oc new-project rubex-test +oc policy add-role-to-user edit test1 -n rubex-test +oc policy add-role-to-group system:image-puller system:serviceaccount:rubex-test:default -n rubex-dev + +oc login -u dev1 -p dev1 +oc project rubex-dev + +oc new-app --name frontend ruby:2.3~https://github.com/omallo/ruby-ex # then: configure GitHub webhook +oc expose service frontend + +oc tag rubex-dev/frontend:latest rubex-dev/frontend:test + +oc login -u test1 -p test1 +oc project rubex-test + +oc new-app rubex-dev/frontend:test +oc expose service frontend + +oc login -u dev1 -p dev1 +oc project rubex-dev + +oc tag rubex-dev/frontend:latest rubex-dev/frontend:test + +oc login -u admin -p admin + +oc new-project cicd +oc policy add-role-to-user edit system:serviceaccount:cicd:default -n rubex-dev +oc policy add-role-to-user edit system:serviceaccount:cicd:default -n rubex-test + +oc new-app library/jenkins:2.19.4 +oc expose svc jenkins --hostname ci.oc.habitz-app.com From bc9c84d8cefa5903cf94f0168e3d168e2ebc2355 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 5 Dec 2016 17:09:29 +0100 Subject: [PATCH 011/239] Remove unnecessary config --- deployment/config/dev/app.yaml | 6 ++---- deployment/config/test/app.yaml | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/deployment/config/dev/app.yaml b/deployment/config/dev/app.yaml index e25f2dd..397f71a 100644 --- a/deployment/config/dev/app.yaml +++ b/deployment/config/dev/app.yaml @@ -12,8 +12,6 @@ spec: deploymentconfig: frontend template: metadata: - annotations: - openshift.io/container.frontend.image.entrypoint: '["container-entrypoint","/bin/sh","-c","$STI_SCRIPTS_PATH/usage"]' labels: app: frontend deploymentconfig: frontend @@ -26,14 +24,14 @@ spec: protocol: TCP triggers: - type: ConfigChange - - imageChangeParams: + - type: ImageChange + imageChangeParams: automatic: true containerNames: - frontend from: kind: ImageStreamTag name: frontend:latest - type: ImageChange --- apiVersion: v1 kind: Service diff --git a/deployment/config/test/app.yaml b/deployment/config/test/app.yaml index 0486df3..e3a955d 100644 --- a/deployment/config/test/app.yaml +++ b/deployment/config/test/app.yaml @@ -12,8 +12,6 @@ spec: deploymentconfig: frontend template: metadata: - annotations: - openshift.io/container.frontend.image.entrypoint: '["container-entrypoint","/usr/libexec/s2i/run"]' labels: app: frontend deploymentconfig: frontend @@ -26,7 +24,8 @@ spec: protocol: TCP triggers: - type: ConfigChange - - imageChangeParams: + - type: ImageChange + imageChangeParams: automatic: true containerNames: - frontend @@ -34,7 +33,6 @@ spec: kind: ImageStreamTag name: frontend:test namespace: rubex-dev - type: ImageChange --- apiVersion: v1 kind: Service From be0ba18857cfe83d941f70b117e7756da61d0fcd Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 5 Dec 2016 17:13:39 +0100 Subject: [PATCH 012/239] Some cleanup --- deployment/config/dev/build.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/deployment/config/dev/build.yaml b/deployment/config/dev/build.yaml index 43f1285..92b7665 100644 --- a/deployment/config/dev/build.yaml +++ b/deployment/config/dev/build.yaml @@ -18,25 +18,25 @@ spec: kind: ImageStreamTag name: frontend:latest source: + type: Git git: uri: https://github.com/omallo/ruby-ex - type: Git strategy: + type: Source sourceStrategy: from: kind: ImageStreamTag name: ruby:2.3 namespace: openshift - type: Source triggers: - - github: + - type: GitHub + github: secret: vo6X68zZF5Vo7Gr3VE6i - type: GitHub - - generic: + - type: Generic + generic: secret: 1mmeM9GOBvY2aS7rlF0f - type: Generic - type: ConfigChange - - imageChange: {} - type: ImageChange + - type: ImageChange + imageChange: {} status: lastVersion: 0 From 364b9aac9f70aae7b2488bde10d07665dadb08e6 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 5 Dec 2016 17:17:21 +0100 Subject: [PATCH 013/239] Comment out the build/deployment triggers --- deployment/config/dev/app.yaml | 20 ++++++++++---------- deployment/config/dev/build.yaml | 22 ++++++++++------------ deployment/config/test/app.yaml | 22 +++++++++++----------- 3 files changed, 31 insertions(+), 33 deletions(-) diff --git a/deployment/config/dev/app.yaml b/deployment/config/dev/app.yaml index 397f71a..f9e1d53 100644 --- a/deployment/config/dev/app.yaml +++ b/deployment/config/dev/app.yaml @@ -22,16 +22,16 @@ spec: ports: - containerPort: 8080 protocol: TCP - triggers: - - type: ConfigChange - - type: ImageChange - imageChangeParams: - automatic: true - containerNames: - - frontend - from: - kind: ImageStreamTag - name: frontend:latest + #triggers: + #- type: ConfigChange + #- type: ImageChange + # imageChangeParams: + # automatic: true + # containerNames: + # - frontend + # from: + # kind: ImageStreamTag + # name: frontend:latest --- apiVersion: v1 kind: Service diff --git a/deployment/config/dev/build.yaml b/deployment/config/dev/build.yaml index 92b7665..5c57803 100644 --- a/deployment/config/dev/build.yaml +++ b/deployment/config/dev/build.yaml @@ -28,15 +28,13 @@ spec: kind: ImageStreamTag name: ruby:2.3 namespace: openshift - triggers: - - type: GitHub - github: - secret: vo6X68zZF5Vo7Gr3VE6i - - type: Generic - generic: - secret: 1mmeM9GOBvY2aS7rlF0f - - type: ConfigChange - - type: ImageChange - imageChange: {} -status: - lastVersion: 0 + #triggers: + #- type: GitHub + # github: + # secret: vo6X68zZF5Vo7Gr3VE6i + #- type: Generic + # generic: + # secret: 1mmeM9GOBvY2aS7rlF0f + #- type: ConfigChange + #- type: ImageChange + # imageChange: {} diff --git a/deployment/config/test/app.yaml b/deployment/config/test/app.yaml index e3a955d..476dede 100644 --- a/deployment/config/test/app.yaml +++ b/deployment/config/test/app.yaml @@ -22,17 +22,17 @@ spec: ports: - containerPort: 8080 protocol: TCP - triggers: - - type: ConfigChange - - type: ImageChange - imageChangeParams: - automatic: true - containerNames: - - frontend - from: - kind: ImageStreamTag - name: frontend:test - namespace: rubex-dev + #triggers: + #- type: ConfigChange + #- type: ImageChange + # imageChangeParams: + # automatic: true + # containerNames: + # - frontend + # from: + # kind: ImageStreamTag + # name: frontend:test + # namespace: rubex-dev --- apiVersion: v1 kind: Service From 5bf612b3360aab02577267270c01d9561e5cda2e Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 5 Dec 2016 17:18:36 +0100 Subject: [PATCH 014/239] Remove build/deployment triggers --- deployment/config/dev/app.yaml | 10 ---------- deployment/config/dev/build.yaml | 10 ---------- deployment/config/test/app.yaml | 11 ----------- 3 files changed, 31 deletions(-) diff --git a/deployment/config/dev/app.yaml b/deployment/config/dev/app.yaml index f9e1d53..b15a750 100644 --- a/deployment/config/dev/app.yaml +++ b/deployment/config/dev/app.yaml @@ -22,16 +22,6 @@ spec: ports: - containerPort: 8080 protocol: TCP - #triggers: - #- type: ConfigChange - #- type: ImageChange - # imageChangeParams: - # automatic: true - # containerNames: - # - frontend - # from: - # kind: ImageStreamTag - # name: frontend:latest --- apiVersion: v1 kind: Service diff --git a/deployment/config/dev/build.yaml b/deployment/config/dev/build.yaml index 5c57803..0550ac6 100644 --- a/deployment/config/dev/build.yaml +++ b/deployment/config/dev/build.yaml @@ -28,13 +28,3 @@ spec: kind: ImageStreamTag name: ruby:2.3 namespace: openshift - #triggers: - #- type: GitHub - # github: - # secret: vo6X68zZF5Vo7Gr3VE6i - #- type: Generic - # generic: - # secret: 1mmeM9GOBvY2aS7rlF0f - #- type: ConfigChange - #- type: ImageChange - # imageChange: {} diff --git a/deployment/config/test/app.yaml b/deployment/config/test/app.yaml index 476dede..3b175a2 100644 --- a/deployment/config/test/app.yaml +++ b/deployment/config/test/app.yaml @@ -22,17 +22,6 @@ spec: ports: - containerPort: 8080 protocol: TCP - #triggers: - #- type: ConfigChange - #- type: ImageChange - # imageChangeParams: - # automatic: true - # containerNames: - # - frontend - # from: - # kind: ImageStreamTag - # name: frontend:test - # namespace: rubex-dev --- apiVersion: v1 kind: Service From 75c3d5ea23e4a154de559db417f92bc34ea95de0 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 5 Dec 2016 17:20:48 +0100 Subject: [PATCH 015/239] Add a route for TEST --- deployment/config/test/app.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/deployment/config/test/app.yaml b/deployment/config/test/app.yaml index 3b175a2..41c0763 100644 --- a/deployment/config/test/app.yaml +++ b/deployment/config/test/app.yaml @@ -38,3 +38,16 @@ spec: selector: app: frontend deploymentconfig: frontend +--- +apiVersion: v1 +kind: Route +metadata: + labels: + app: frontend + name: frontend +spec: + port: + targetPort: 8080-tcp + to: + kind: Service + name: frontend From ee94d7711ab7af8f2658c12c3081a76b0f756100 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 5 Dec 2016 23:19:05 +0100 Subject: [PATCH 016/239] Use templates to share the OpenShift config between environments --- deployment/config/app.yaml | 67 ++++++++++++++++++++++++++++++++ deployment/config/build.yaml | 31 +++++++++++++++ deployment/config/dev/app.yaml | 53 ------------------------- deployment/config/dev/build.yaml | 30 -------------- deployment/config/test/app.yaml | 53 ------------------------- 5 files changed, 98 insertions(+), 136 deletions(-) create mode 100644 deployment/config/app.yaml create mode 100644 deployment/config/build.yaml delete mode 100644 deployment/config/dev/app.yaml delete mode 100644 deployment/config/dev/build.yaml delete mode 100644 deployment/config/test/app.yaml diff --git a/deployment/config/app.yaml b/deployment/config/app.yaml new file mode 100644 index 0000000..85183d4 --- /dev/null +++ b/deployment/config/app.yaml @@ -0,0 +1,67 @@ +apiVersion: v1 +kind: Template +objects: +- apiVersion: v1 + kind: DeploymentConfig + metadata: + labels: + app: frontend + name: frontend + spec: + replicas: 1 + selector: + app: frontend + deploymentconfig: frontend + template: + metadata: + labels: + app: frontend + deploymentconfig: frontend + spec: + containers: + - image: rubex-dev/${IMAGE_STREAM_TAG} + name: frontend + ports: + - containerPort: 8080 + protocol: TCP + triggers: + - type: ImageChange + imageChangeParams: + automatic: false + containerNames: + - frontend + from: + kind: ImageStreamTag + name: ${IMAGE_STREAM_TAG} + namespace: rubex-dev +- apiVersion: v1 + kind: Service + metadata: + labels: + app: frontend + name: frontend + spec: + ports: + - name: 8080-tcp + port: 8080 + protocol: TCP + targetPort: 8080 + selector: + app: frontend + deploymentconfig: frontend +- apiVersion: v1 + kind: Route + metadata: + labels: + app: frontend + name: frontend + spec: + port: + targetPort: 8080-tcp + to: + kind: Service + name: frontend +parameters: +- description: The image stream tag from which to deploy. + displayName: Image Stream Tag + name: IMAGE_STREAM_TAG diff --git a/deployment/config/build.yaml b/deployment/config/build.yaml new file mode 100644 index 0000000..0aa4032 --- /dev/null +++ b/deployment/config/build.yaml @@ -0,0 +1,31 @@ +apiVersion: v1 +kind: Template +objects: +- apiVersion: v1 + kind: ImageStream + metadata: + labels: + app: frontend + name: frontend +- apiVersion: v1 + kind: BuildConfig + metadata: + labels: + app: frontend + name: frontend + spec: + output: + to: + kind: ImageStreamTag + name: frontend:latest + source: + type: Git + git: + uri: https://github.com/omallo/ruby-ex + strategy: + type: Source + sourceStrategy: + from: + kind: ImageStreamTag + name: ruby:2.3 + namespace: openshift diff --git a/deployment/config/dev/app.yaml b/deployment/config/dev/app.yaml deleted file mode 100644 index b15a750..0000000 --- a/deployment/config/dev/app.yaml +++ /dev/null @@ -1,53 +0,0 @@ ---- -apiVersion: v1 -kind: DeploymentConfig -metadata: - labels: - app: frontend - name: frontend -spec: - replicas: 1 - selector: - app: frontend - deploymentconfig: frontend - template: - metadata: - labels: - app: frontend - deploymentconfig: frontend - spec: - containers: - - image: frontend:latest - name: frontend - ports: - - containerPort: 8080 - protocol: TCP ---- -apiVersion: v1 -kind: Service -metadata: - labels: - app: frontend - name: frontend -spec: - ports: - - name: 8080-tcp - port: 8080 - protocol: TCP - targetPort: 8080 - selector: - app: frontend - deploymentconfig: frontend ---- -apiVersion: v1 -kind: Route -metadata: - labels: - app: frontend - name: frontend -spec: - port: - targetPort: 8080-tcp - to: - kind: Service - name: frontend diff --git a/deployment/config/dev/build.yaml b/deployment/config/dev/build.yaml deleted file mode 100644 index 0550ac6..0000000 --- a/deployment/config/dev/build.yaml +++ /dev/null @@ -1,30 +0,0 @@ ---- -apiVersion: v1 -kind: ImageStream -metadata: - labels: - app: frontend - name: frontend ---- -apiVersion: v1 -kind: BuildConfig -metadata: - labels: - app: frontend - name: frontend -spec: - output: - to: - kind: ImageStreamTag - name: frontend:latest - source: - type: Git - git: - uri: https://github.com/omallo/ruby-ex - strategy: - type: Source - sourceStrategy: - from: - kind: ImageStreamTag - name: ruby:2.3 - namespace: openshift diff --git a/deployment/config/test/app.yaml b/deployment/config/test/app.yaml deleted file mode 100644 index 41c0763..0000000 --- a/deployment/config/test/app.yaml +++ /dev/null @@ -1,53 +0,0 @@ ---- -apiVersion: v1 -kind: DeploymentConfig -metadata: - labels: - app: frontend - name: frontend -spec: - replicas: 1 - selector: - app: frontend - deploymentconfig: frontend - template: - metadata: - labels: - app: frontend - deploymentconfig: frontend - spec: - containers: - - image: rubex-dev/frontend:test - name: frontend - ports: - - containerPort: 8080 - protocol: TCP ---- -apiVersion: v1 -kind: Service -metadata: - labels: - app: frontend - name: frontend -spec: - ports: - - name: 8080-tcp - port: 8080 - protocol: TCP - targetPort: 8080 - selector: - app: frontend - deploymentconfig: frontend ---- -apiVersion: v1 -kind: Route -metadata: - labels: - app: frontend - name: frontend -spec: - port: - targetPort: 8080-tcp - to: - kind: Service - name: frontend From 35e09f59dc82f80a057b7ff2aa683f2523494174 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 5 Dec 2016 23:29:38 +0100 Subject: [PATCH 017/239] Parameterize the template --- deployment/config/app.yaml | 52 +++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 20 deletions(-) diff --git a/deployment/config/app.yaml b/deployment/config/app.yaml index 85183d4..c248b2a 100644 --- a/deployment/config/app.yaml +++ b/deployment/config/app.yaml @@ -5,22 +5,22 @@ objects: kind: DeploymentConfig metadata: labels: - app: frontend - name: frontend + app: ${APP} + name: ${APP} spec: replicas: 1 selector: - app: frontend - deploymentconfig: frontend + app: ${APP} + deploymentconfig: ${APP} template: metadata: labels: - app: frontend - deploymentconfig: frontend + app: ${APP} + deploymentconfig: ${APP} spec: containers: - - image: rubex-dev/${IMAGE_STREAM_TAG} - name: frontend + - image: ${PROJECT_BASE}-${BUILD_ENV}/${APP}:${ENV} + name: ${APP} ports: - containerPort: 8080 protocol: TCP @@ -29,17 +29,17 @@ objects: imageChangeParams: automatic: false containerNames: - - frontend + - ${APP} from: kind: ImageStreamTag name: ${IMAGE_STREAM_TAG} - namespace: rubex-dev + namespace: ${PROJECT_BASE}-${BUILD_ENV} - apiVersion: v1 kind: Service metadata: labels: - app: frontend - name: frontend + app: ${APP} + name: ${APP} spec: ports: - name: 8080-tcp @@ -47,21 +47,33 @@ objects: protocol: TCP targetPort: 8080 selector: - app: frontend - deploymentconfig: frontend + app: ${APP} + deploymentconfig: ${APP} - apiVersion: v1 kind: Route metadata: labels: - app: frontend - name: frontend + app: ${APP} + name: ${APP} spec: port: targetPort: 8080-tcp to: kind: Service - name: frontend + name: ${APP} parameters: -- description: The image stream tag from which to deploy. - displayName: Image Stream Tag - name: IMAGE_STREAM_TAG +- description: The project base name. + displayName: Project base name + name: PROJECT_BASE + value: rubex +- description: The application name. + displayName: Application name + name: APP + value: frontend +- description: The environment in which the image stream is built. + displayName: Build environment + name: BUILD_ENV + value: dev +- description: The environment into which the app is deployed. + displayName: Environment + name: ENV From abb1d8350cd0d69b038b9f16d4091aedcb100e19 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 00:00:09 +0100 Subject: [PATCH 018/239] Extend the pipeline to explicitly trigger deployments --- deployment/pipeline.groovy | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 53d3881..1165794 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,6 +1,16 @@ def oc(args) { - def ocCmd = "/tmp/oc2 --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" - sh "${ocCmd} " + args + sh getOcCmd(args) +} + +def ocPipe(args1, args2) { + def ocCmd1 = getOcCmd(args1) + def ocCmd2 = getOcCmd(args2) + sh "${ocCmd1} | ${ocCmd2}" +} + +def getOcCmd(args) { + def ocBin = "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" + return "${ocBin} ${args}" } node() { @@ -9,7 +19,8 @@ node() { } stage('Deploy to DEV') { - // noop + oc "tag rubex-dev/frontend:latest rubex-dev/frontend:dev" + oc "deploy frontend --latest --follow -n rubex-dev" } def isPromoteToTest = false @@ -19,7 +30,8 @@ node() { if (isPromoteToTest) { stage('Deploy to TEST') { - oc "tag rubex-dev/frontend:latest rubex-dev/frontend:test" + oc "tag rubex-dev/frontend:dev rubex-dev/frontend:test" + oc "deploy frontend --latest --follow -n rubex-test" } } } From 9a3f154c96e07bc385ca21e64f19cf762ba22e0a Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 10:10:10 +0100 Subject: [PATCH 019/239] Simplify the pipeline script --- deployment/pipeline.groovy | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 1165794..1cfde21 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,26 +1,13 @@ -def oc(args) { - sh getOcCmd(args) -} - -def ocPipe(args1, args2) { - def ocCmd1 = getOcCmd(args1) - def ocCmd2 = getOcCmd(args2) - sh "${ocCmd1} | ${ocCmd2}" -} - -def getOcCmd(args) { - def ocBin = "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" - return "${ocBin} ${args}" -} - node() { + def ocCmd = "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" + stage('Build') { - oc "start-build frontend -w -n rubex-dev" + sh "${ocCmd} start-build frontend -w -n rubex-dev" } stage('Deploy to DEV') { - oc "tag rubex-dev/frontend:latest rubex-dev/frontend:dev" - oc "deploy frontend --latest --follow -n rubex-dev" + sh "${ocCmd} tag rubex-dev/frontend:latest rubex-dev/frontend:dev" + sh "${ocCmd} deploy frontend --latest --follow -n rubex-dev" } def isPromoteToTest = false @@ -30,8 +17,8 @@ node() { if (isPromoteToTest) { stage('Deploy to TEST') { - oc "tag rubex-dev/frontend:dev rubex-dev/frontend:test" - oc "deploy frontend --latest --follow -n rubex-test" + sh "${ocCmd} tag rubex-dev/frontend:dev rubex-dev/frontend:test" + sh "${ocCmd} deploy frontend --latest --follow -n rubex-test" } } } From c458296ff91f3332f1c4b60ea68499bc14ffbe6e Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 13:39:45 +0100 Subject: [PATCH 020/239] Update the OpenShift configs during the build pipeline --- deployment/pipeline.groovy | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 1cfde21..9e926c9 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,11 +1,16 @@ node() { def ocCmd = "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" + def buildConfigUrl = "https://raw.githubusercontent.com/omallo/ruby-ex/master/deployment/config/build.yaml" + def appConfigUrl = "https://raw.githubusercontent.com/omallo/ruby-ex/master/deployment/config/app.yaml" + stage('Build') { + sh "${ocCmd} process -f ${buildConfigUrl} | ${ocCmd} apply -f -" sh "${ocCmd} start-build frontend -w -n rubex-dev" } stage('Deploy to DEV') { + sh "${ocCmd} process -f ${appConfigUrl} -v ENV=dev | ${ocCmd} apply -f -" sh "${ocCmd} tag rubex-dev/frontend:latest rubex-dev/frontend:dev" sh "${ocCmd} deploy frontend --latest --follow -n rubex-dev" } @@ -17,6 +22,7 @@ node() { if (isPromoteToTest) { stage('Deploy to TEST') { + sh "${ocCmd} process -f ${appConfigUrl} -v ENV=test | ${ocCmd} apply -f -" sh "${ocCmd} tag rubex-dev/frontend:dev rubex-dev/frontend:test" sh "${ocCmd} deploy frontend --latest --follow -n rubex-test" } From 27f8a59b41c130b9fe1edf4e543ba2ea3608b988 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 14:00:05 +0100 Subject: [PATCH 021/239] Use a custom Jenkins Docker image with OpenShift installed --- deployment/setup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/setup.sh b/deployment/setup.sh index 13af5a1..200479c 100644 --- a/deployment/setup.sh +++ b/deployment/setup.sh @@ -38,5 +38,5 @@ oc new-project cicd oc policy add-role-to-user edit system:serviceaccount:cicd:default -n rubex-dev oc policy add-role-to-user edit system:serviceaccount:cicd:default -n rubex-test -oc new-app library/jenkins:2.19.4 -oc expose svc jenkins --hostname ci.oc.habitz-app.com +oc new-app --name=ci omallo/oc-jenkins +oc expose svc ci --hostname ci.oc.habitz-app.com From db41815a98a94964640df0044b3f63a3e345ea1d Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 14:00:22 +0100 Subject: [PATCH 022/239] Always specify the project for OC commands --- deployment/pipeline.groovy | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 9e926c9..9cd65a1 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -5,12 +5,12 @@ node() { def appConfigUrl = "https://raw.githubusercontent.com/omallo/ruby-ex/master/deployment/config/app.yaml" stage('Build') { - sh "${ocCmd} process -f ${buildConfigUrl} | ${ocCmd} apply -f -" + sh "${ocCmd} process -f ${buildConfigUrl} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} start-build frontend -w -n rubex-dev" } stage('Deploy to DEV') { - sh "${ocCmd} process -f ${appConfigUrl} -v ENV=dev | ${ocCmd} apply -f -" + sh "${ocCmd} process -f ${appConfigUrl} -v ENV=dev -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} tag rubex-dev/frontend:latest rubex-dev/frontend:dev" sh "${ocCmd} deploy frontend --latest --follow -n rubex-dev" } @@ -22,7 +22,7 @@ node() { if (isPromoteToTest) { stage('Deploy to TEST') { - sh "${ocCmd} process -f ${appConfigUrl} -v ENV=test | ${ocCmd} apply -f -" + sh "${ocCmd} process -f ${appConfigUrl} -v ENV=test -n rubex-test | ${ocCmd} apply -f - -n rubex-test" sh "${ocCmd} tag rubex-dev/frontend:dev rubex-dev/frontend:test" sh "${ocCmd} deploy frontend --latest --follow -n rubex-test" } From 1616ae20170dec26ad1217ef965885babdb300ca Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 14:00:31 +0100 Subject: [PATCH 023/239] Fix the app config --- deployment/config/app.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/config/app.yaml b/deployment/config/app.yaml index c248b2a..7f434a4 100644 --- a/deployment/config/app.yaml +++ b/deployment/config/app.yaml @@ -32,7 +32,7 @@ objects: - ${APP} from: kind: ImageStreamTag - name: ${IMAGE_STREAM_TAG} + name: ${APP}:${ENV} namespace: ${PROJECT_BASE}-${BUILD_ENV} - apiVersion: v1 kind: Service From 1e7f66260cda4797115058747e873fd1e82a1466 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 14:08:03 +0100 Subject: [PATCH 024/239] Bump version --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 0b8b577..5643275 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 3)

+

Welcome to your Ruby application on OpenShift (version 4)

From cf5424ecc4e0b66d193589b28163fd0fcb3a56b6 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 14:25:37 +0100 Subject: [PATCH 025/239] Bump the version --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 5643275..7e4bb16 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 4)

+

Welcome to your Ruby application on OpenShift (version 5)

From 35020eceae239e4229b10376f61e3ba50fb9302a Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 14:25:52 +0100 Subject: [PATCH 026/239] Wait for changes to be applied before deploying --- deployment/config/app.yaml | 1 + deployment/pipeline.groovy | 2 ++ 2 files changed, 3 insertions(+) diff --git a/deployment/config/app.yaml b/deployment/config/app.yaml index 7f434a4..2031974 100644 --- a/deployment/config/app.yaml +++ b/deployment/config/app.yaml @@ -20,6 +20,7 @@ objects: spec: containers: - image: ${PROJECT_BASE}-${BUILD_ENV}/${APP}:${ENV} + imagePullPolicy: IfNotPresent name: ${APP} ports: - containerPort: 8080 diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 9cd65a1..edf56fb 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -12,6 +12,7 @@ node() { stage('Deploy to DEV') { sh "${ocCmd} process -f ${appConfigUrl} -v ENV=dev -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} tag rubex-dev/frontend:latest rubex-dev/frontend:dev" + sh "sleep 5" sh "${ocCmd} deploy frontend --latest --follow -n rubex-dev" } @@ -24,6 +25,7 @@ node() { stage('Deploy to TEST') { sh "${ocCmd} process -f ${appConfigUrl} -v ENV=test -n rubex-test | ${ocCmd} apply -f - -n rubex-test" sh "${ocCmd} tag rubex-dev/frontend:dev rubex-dev/frontend:test" + sh "sleep 5" sh "${ocCmd} deploy frontend --latest --follow -n rubex-test" } } From 1340e51406e192c083943640a65cbaae8e4309ba Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 14:30:08 +0100 Subject: [PATCH 027/239] Always pull the image --- deployment/config/app.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/config/app.yaml b/deployment/config/app.yaml index 2031974..d70f3de 100644 --- a/deployment/config/app.yaml +++ b/deployment/config/app.yaml @@ -20,7 +20,7 @@ objects: spec: containers: - image: ${PROJECT_BASE}-${BUILD_ENV}/${APP}:${ENV} - imagePullPolicy: IfNotPresent + imagePullPolicy: Always name: ${APP} ports: - containerPort: 8080 From 95217033728570c8d96e82ad88ff45acca831b80 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 21:17:49 +0100 Subject: [PATCH 028/239] Bump the version --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 7e4bb16..4e488db 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 5)

+

Welcome to your Ruby application on OpenShift (version 6)

From 5d0734e1d48b5aee85d69b20f3360bff88033d08 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 21:31:58 +0100 Subject: [PATCH 029/239] Fix policy rule --- deployment/setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/setup.sh b/deployment/setup.sh index 200479c..a4651ff 100644 --- a/deployment/setup.sh +++ b/deployment/setup.sh @@ -11,7 +11,7 @@ oc policy add-role-to-user view test1 -n rubex-dev oc new-project rubex-test oc policy add-role-to-user edit test1 -n rubex-test -oc policy add-role-to-group system:image-puller system:serviceaccount:rubex-test:default -n rubex-dev +oc policy add-role-to-group system:image-puller system:serviceaccounts:rubex-test -n rubex-dev oc login -u dev1 -p dev1 oc project rubex-dev From 5786f89d417c52faa6811e61297291e11d6f2743 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 21:40:38 +0100 Subject: [PATCH 030/239] Bump to version 7 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 4e488db..f833501 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 6)

+

Welcome to your Ruby application on OpenShift (version 7)

From 63b10ace527c584bc326fbd2c0f4547c516bc1e2 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 21:53:41 +0100 Subject: [PATCH 031/239] Enable automatic deployment --- config.ru | 2 +- deployment/config/app.yaml | 2 +- deployment/pipeline.groovy | 6 ++---- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/config.ru b/config.ru index f833501..660a87f 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 7)

+

Welcome to your Ruby application on OpenShift (version 8)

diff --git a/deployment/config/app.yaml b/deployment/config/app.yaml index d70f3de..6c464f0 100644 --- a/deployment/config/app.yaml +++ b/deployment/config/app.yaml @@ -28,7 +28,7 @@ objects: triggers: - type: ImageChange imageChangeParams: - automatic: false + automatic: true containerNames: - ${APP} from: diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index edf56fb..182d76a 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -12,8 +12,7 @@ node() { stage('Deploy to DEV') { sh "${ocCmd} process -f ${appConfigUrl} -v ENV=dev -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} tag rubex-dev/frontend:latest rubex-dev/frontend:dev" - sh "sleep 5" - sh "${ocCmd} deploy frontend --latest --follow -n rubex-dev" + sh "${ocCmd} deploy frontend --follow -n rubex-dev" } def isPromoteToTest = false @@ -25,8 +24,7 @@ node() { stage('Deploy to TEST') { sh "${ocCmd} process -f ${appConfigUrl} -v ENV=test -n rubex-test | ${ocCmd} apply -f - -n rubex-test" sh "${ocCmd} tag rubex-dev/frontend:dev rubex-dev/frontend:test" - sh "sleep 5" - sh "${ocCmd} deploy frontend --latest --follow -n rubex-test" + sh "${ocCmd} deploy frontend --follow -n rubex-test" } } } From 7c86dde7095826c3e322abba2ddc3e98d281630c Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 21:57:31 +0100 Subject: [PATCH 032/239] Bump to version 9 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 660a87f..1e28512 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 8)

+

Welcome to your Ruby application on OpenShift (version 9)

From f73a45f4cca27f2a4c0cb058ea3e6eeda8deb333 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 21:59:16 +0100 Subject: [PATCH 033/239] Bump to version 10 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 1e28512..ac48de1 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 9)

+

Welcome to your Ruby application on OpenShift (version 10)

From 9995ab2e53bdc77ee717f083198f5b91c2b03928 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 22:02:35 +0100 Subject: [PATCH 034/239] Bump to version 11 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index ac48de1..24abaa7 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 10)

+

Welcome to your Ruby application on OpenShift (version 11)

From 3ebc750341202dad32d2c132bdad4cda7538f296 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 22:02:49 +0100 Subject: [PATCH 035/239] Disable automatic deployment --- deployment/config/app.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/config/app.yaml b/deployment/config/app.yaml index 6c464f0..d70f3de 100644 --- a/deployment/config/app.yaml +++ b/deployment/config/app.yaml @@ -28,7 +28,7 @@ objects: triggers: - type: ImageChange imageChangeParams: - automatic: true + automatic: false containerNames: - ${APP} from: From fa9d82451812a3fd598d83808813ccdde394d7a6 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 22:21:28 +0100 Subject: [PATCH 036/239] Bump to version 12 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 24abaa7..3ca000f 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 11)

+

Welcome to your Ruby application on OpenShift (version 12)

From d7887bd059fe84b2a0e7f3d1c66fbcc6a6e4e87c Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 22:24:22 +0100 Subject: [PATCH 037/239] Enable automatic deployment --- deployment/config/app.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/config/app.yaml b/deployment/config/app.yaml index d70f3de..6c464f0 100644 --- a/deployment/config/app.yaml +++ b/deployment/config/app.yaml @@ -28,7 +28,7 @@ objects: triggers: - type: ImageChange imageChangeParams: - automatic: false + automatic: true containerNames: - ${APP} from: From f3214a1d976491b14d317c98c7f05637e7760630 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 6 Dec 2016 23:03:50 +0100 Subject: [PATCH 038/239] Bump to version 13 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 3ca000f..a85732c 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 12)

+

Welcome to your Ruby application on OpenShift (version 13)

From 254d826205fe78f686f80109a7e4a012c4245762 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 7 Dec 2016 01:04:40 +0100 Subject: [PATCH 039/239] Reference the master branch explicitly --- deployment/config/build.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/deployment/config/build.yaml b/deployment/config/build.yaml index 0aa4032..61e2d7e 100644 --- a/deployment/config/build.yaml +++ b/deployment/config/build.yaml @@ -22,6 +22,7 @@ objects: type: Git git: uri: https://github.com/omallo/ruby-ex + ref: master strategy: type: Source sourceStrategy: From d2258c748dd3d8b4173582b43348d88d8a5c86a3 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 7 Dec 2016 01:07:20 +0100 Subject: [PATCH 040/239] Remove the number of replicas --- deployment/config/app.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/config/app.yaml b/deployment/config/app.yaml index 6c464f0..84d236b 100644 --- a/deployment/config/app.yaml +++ b/deployment/config/app.yaml @@ -8,7 +8,7 @@ objects: app: ${APP} name: ${APP} spec: - replicas: 1 + #replicas: 1 selector: app: ${APP} deploymentconfig: ${APP} From bfb46e557fabacfe196df2bdcd90157324537a60 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 7 Dec 2016 01:09:18 +0100 Subject: [PATCH 041/239] Add the number of replicas again --- deployment/config/app.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/config/app.yaml b/deployment/config/app.yaml index 84d236b..6c464f0 100644 --- a/deployment/config/app.yaml +++ b/deployment/config/app.yaml @@ -8,7 +8,7 @@ objects: app: ${APP} name: ${APP} spec: - #replicas: 1 + replicas: 1 selector: app: ${APP} deploymentconfig: ${APP} From 832da546e2086eb906fb30408977bce70da6c882 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 7 Dec 2016 21:31:01 +0100 Subject: [PATCH 042/239] Use the new rollout command instead of deploy --- deployment/config/app.yaml | 2 +- deployment/pipeline.groovy | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/deployment/config/app.yaml b/deployment/config/app.yaml index 6c464f0..d70f3de 100644 --- a/deployment/config/app.yaml +++ b/deployment/config/app.yaml @@ -28,7 +28,7 @@ objects: triggers: - type: ImageChange imageChangeParams: - automatic: true + automatic: false containerNames: - ${APP} from: diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 182d76a..321dacc 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -12,7 +12,8 @@ node() { stage('Deploy to DEV') { sh "${ocCmd} process -f ${appConfigUrl} -v ENV=dev -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} tag rubex-dev/frontend:latest rubex-dev/frontend:dev" - sh "${ocCmd} deploy frontend --follow -n rubex-dev" + sh "${ocCmd} rollout latest dc/frontend -n rubex-dev" + sh "${ocCmd} rollout status dc/frontend -n rubex-dev" } def isPromoteToTest = false @@ -24,7 +25,8 @@ node() { stage('Deploy to TEST') { sh "${ocCmd} process -f ${appConfigUrl} -v ENV=test -n rubex-test | ${ocCmd} apply -f - -n rubex-test" sh "${ocCmd} tag rubex-dev/frontend:dev rubex-dev/frontend:test" - sh "${ocCmd} deploy frontend --follow -n rubex-test" + sh "${ocCmd} rollout latest dc/frontend -n rubex-test" + sh "${ocCmd} rollout status dc/frontend -n rubex-test" } } } From 3d80c4d242a58ba6f5e805906f1e74e025250c52 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 7 Dec 2016 22:03:30 +0100 Subject: [PATCH 043/239] Bump to version 14 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index a85732c..f5d3f6f 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 13)

+

Welcome to your Ruby application on OpenShift (version 14)

From 46222801340947e72e029e3d68a9d29bba72f9b9 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 7 Dec 2016 22:05:11 +0100 Subject: [PATCH 044/239] Bump to version 15 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index f5d3f6f..4a67e60 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 14)

+

Welcome to your Ruby application on OpenShift (version 15)

From 3a49f483d98e578836c2a70d20788a0de8746cd0 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 7 Dec 2016 22:08:49 +0100 Subject: [PATCH 045/239] Bump to version 16 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 4a67e60..f419d61 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 15)

+

Welcome to your Ruby application on OpenShift (version 16)

From 2a9ab78e881b2066a52f59579e652f8532cb7e82 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 7 Dec 2016 23:14:47 +0100 Subject: [PATCH 046/239] Reference checked out files --- deployment/pipeline.groovy | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 321dacc..c70792f 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,16 +1,16 @@ node() { def ocCmd = "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" - def buildConfigUrl = "https://raw.githubusercontent.com/omallo/ruby-ex/master/deployment/config/build.yaml" - def appConfigUrl = "https://raw.githubusercontent.com/omallo/ruby-ex/master/deployment/config/app.yaml" + def buildConfigFile = "deployment/config/build.yaml" + def appConfigFile = "deployment/config/app.yaml" stage('Build') { - sh "${ocCmd} process -f ${buildConfigUrl} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" + sh "${ocCmd} process -f ${buildConfigFile} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} start-build frontend -w -n rubex-dev" } stage('Deploy to DEV') { - sh "${ocCmd} process -f ${appConfigUrl} -v ENV=dev -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" + sh "${ocCmd} process -f ${appConfigFile} -v ENV=dev -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} tag rubex-dev/frontend:latest rubex-dev/frontend:dev" sh "${ocCmd} rollout latest dc/frontend -n rubex-dev" sh "${ocCmd} rollout status dc/frontend -n rubex-dev" @@ -23,7 +23,7 @@ node() { if (isPromoteToTest) { stage('Deploy to TEST') { - sh "${ocCmd} process -f ${appConfigUrl} -v ENV=test -n rubex-test | ${ocCmd} apply -f - -n rubex-test" + sh "${ocCmd} process -f ${appConfigFile} -v ENV=test -n rubex-test | ${ocCmd} apply -f - -n rubex-test" sh "${ocCmd} tag rubex-dev/frontend:dev rubex-dev/frontend:test" sh "${ocCmd} rollout latest dc/frontend -n rubex-test" sh "${ocCmd} rollout status dc/frontend -n rubex-test" From a7be2261e2a6307ca485226ed20609e24e02951e Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 7 Dec 2016 23:15:04 +0100 Subject: [PATCH 047/239] Bump to version 17 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index f419d61..4cb798a 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 16)

+

Welcome to your Ruby application on OpenShift (version 17)

From c6675df6dddd338ac264e8f2a8ccfdd870125516 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 7 Dec 2016 23:16:48 +0100 Subject: [PATCH 048/239] Print the working directory --- deployment/pipeline.groovy | 1 + 1 file changed, 1 insertion(+) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index c70792f..1053fc9 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -5,6 +5,7 @@ node() { def appConfigFile = "deployment/config/app.yaml" stage('Build') { + sh "pwd" sh "${ocCmd} process -f ${buildConfigFile} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} start-build frontend -w -n rubex-dev" } From dc5be94d63dafadfacf09619c5a8ec19f45d6a1e Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 7 Dec 2016 23:17:46 +0100 Subject: [PATCH 049/239] List the contents of the working directory --- deployment/pipeline.groovy | 1 + 1 file changed, 1 insertion(+) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 1053fc9..cb184be 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -6,6 +6,7 @@ node() { stage('Build') { sh "pwd" + sh "ls" sh "${ocCmd} process -f ${buildConfigFile} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} start-build frontend -w -n rubex-dev" } From 7b5ac6db23f562dca6a3842e728469a0ea7b4d66 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 7 Dec 2016 23:21:17 +0100 Subject: [PATCH 050/239] Check out the code in the pipeline --- deployment/pipeline.groovy | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index cb184be..aaa45db 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,12 +1,11 @@ node() { def ocCmd = "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" - def buildConfigFile = "deployment/config/build.yaml" - def appConfigFile = "deployment/config/app.yaml" + def buildConfigFile = "ruby-ex/deployment/config/build.yaml" + def appConfigFile = "ruby-ex/deployment/config/app.yaml" stage('Build') { - sh "pwd" - sh "ls" + git "https://github.com/omallo/ruby-ex.git" sh "${ocCmd} process -f ${buildConfigFile} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} start-build frontend -w -n rubex-dev" } From 1fcb6ee2f1a680ec882c7dd854f17fe1290fe57f Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 7 Dec 2016 23:25:08 +0100 Subject: [PATCH 051/239] List the contents of the working directory --- deployment/pipeline.groovy | 1 + 1 file changed, 1 insertion(+) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index aaa45db..e730de9 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -6,6 +6,7 @@ node() { stage('Build') { git "https://github.com/omallo/ruby-ex.git" + sh "ls -la" sh "${ocCmd} process -f ${buildConfigFile} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} start-build frontend -w -n rubex-dev" } From 52de126924fc945926483a0a14d3b68434d898b4 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 7 Dec 2016 23:25:57 +0100 Subject: [PATCH 052/239] Fix the path to the config files --- deployment/pipeline.groovy | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index e730de9..6cb1eb0 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,12 +1,11 @@ node() { def ocCmd = "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" - def buildConfigFile = "ruby-ex/deployment/config/build.yaml" - def appConfigFile = "ruby-ex/deployment/config/app.yaml" + def buildConfigFile = "deployment/config/build.yaml" + def appConfigFile = "deployment/config/app.yaml" stage('Build') { git "https://github.com/omallo/ruby-ex.git" - sh "ls -la" sh "${ocCmd} process -f ${buildConfigFile} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} start-build frontend -w -n rubex-dev" } From 8150f3e5b031184f79dfd2f481eb4eb60a39ea26 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 7 Dec 2016 23:51:04 +0100 Subject: [PATCH 053/239] Parameterize the number of replicas --- deployment/config/app.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/deployment/config/app.yaml b/deployment/config/app.yaml index d70f3de..8b484e9 100644 --- a/deployment/config/app.yaml +++ b/deployment/config/app.yaml @@ -8,7 +8,7 @@ objects: app: ${APP} name: ${APP} spec: - replicas: 1 + replicas: ${REPLICAS} selector: app: ${APP} deploymentconfig: ${APP} @@ -78,3 +78,7 @@ parameters: - description: The environment into which the app is deployed. displayName: Environment name: ENV +- description: The number of replicas. + displayName: Replicas + name: REPLICAS + value: 1 From 346402e13134b748aec5188d99ad111ab1940c36 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 8 Dec 2016 00:24:05 +0100 Subject: [PATCH 054/239] Preserver the number of replicas --- deployment/pipeline.groovy | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 6cb1eb0..28f4030 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,6 +1,11 @@ node() { def ocCmd = "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" + def getReplicasOpt(deploymentConfig, project) { + def replicas = sh(script: "${ocCmd} get dc ${deploymentConfig} --template='{{ .spec.replicas }}' -n ${project}", returnStdout: true).trim() + return replicas ? "-v REPLICAS=${replicas}" : "" + } + def buildConfigFile = "deployment/config/build.yaml" def appConfigFile = "deployment/config/app.yaml" @@ -11,7 +16,8 @@ node() { } stage('Deploy to DEV') { - sh "${ocCmd} process -f ${appConfigFile} -v ENV=dev -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" + def replicasOpt = getReplicasOpt("frontend", "rubex-dev") + sh "${ocCmd} process -f ${appConfigFile} -v ENV=dev ${replicasOpt} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} tag rubex-dev/frontend:latest rubex-dev/frontend:dev" sh "${ocCmd} rollout latest dc/frontend -n rubex-dev" sh "${ocCmd} rollout status dc/frontend -n rubex-dev" @@ -24,7 +30,8 @@ node() { if (isPromoteToTest) { stage('Deploy to TEST') { - sh "${ocCmd} process -f ${appConfigFile} -v ENV=test -n rubex-test | ${ocCmd} apply -f - -n rubex-test" + def replicasOpt = getReplicasOpt("frontend", "rubex-test") + sh "${ocCmd} process -f ${appConfigFile} -v ENV=test ${replicasOpt} -n rubex-test | ${ocCmd} apply -f - -n rubex-test" sh "${ocCmd} tag rubex-dev/frontend:dev rubex-dev/frontend:test" sh "${ocCmd} rollout latest dc/frontend -n rubex-test" sh "${ocCmd} rollout status dc/frontend -n rubex-test" From 32dbfb93e2b8a658af3aa899cf5253807f096225 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 8 Dec 2016 00:24:30 +0100 Subject: [PATCH 055/239] Bump to version 18 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 4cb798a..b8efe67 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 17)

+

Welcome to your Ruby application on OpenShift (version 18)

From 3087cf5f0d1a7b0b3d9167ba723f875cce885c38 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 8 Dec 2016 00:26:40 +0100 Subject: [PATCH 056/239] Minor cleanup --- deployment/pipeline.groovy | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 28f4030..d48a5ed 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,11 +1,11 @@ +def ocCmd = "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" + +def getReplicasOpt(deploymentConfig, project) { + def replicas = sh(script: "${ocCmd} get dc ${deploymentConfig} --template='{{ .spec.replicas }}' -n ${project}", returnStdout: true).trim() + return replicas ? "-v REPLICAS=${replicas}" : "" +} + node() { - def ocCmd = "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" - - def getReplicasOpt(deploymentConfig, project) { - def replicas = sh(script: "${ocCmd} get dc ${deploymentConfig} --template='{{ .spec.replicas }}' -n ${project}", returnStdout: true).trim() - return replicas ? "-v REPLICAS=${replicas}" : "" - } - def buildConfigFile = "deployment/config/build.yaml" def appConfigFile = "deployment/config/app.yaml" From 5cf826925cb555a451297d2eb0c9b8b9d957bc8f Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 8 Dec 2016 00:28:53 +0100 Subject: [PATCH 057/239] Minor cleanup --- deployment/pipeline.groovy | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index d48a5ed..bea1f01 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,11 +1,16 @@ -def ocCmd = "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" +def getOcCmd() { + return "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" +} def getReplicasOpt(deploymentConfig, project) { + def ocCmd = getOcCmd() def replicas = sh(script: "${ocCmd} get dc ${deploymentConfig} --template='{{ .spec.replicas }}' -n ${project}", returnStdout: true).trim() return replicas ? "-v REPLICAS=${replicas}" : "" } node() { + def ocCmd = getOcCmd() + def buildConfigFile = "deployment/config/build.yaml" def appConfigFile = "deployment/config/app.yaml" From 8ea22b7b901837efb6d1a4bf5960e246c2f5cc9e Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 8 Dec 2016 00:30:54 +0100 Subject: [PATCH 058/239] Pass parameters as strings --- deployment/config/app.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/config/app.yaml b/deployment/config/app.yaml index 8b484e9..2378bbe 100644 --- a/deployment/config/app.yaml +++ b/deployment/config/app.yaml @@ -81,4 +81,4 @@ parameters: - description: The number of replicas. displayName: Replicas name: REPLICAS - value: 1 + value: "1" From 72556b887643754ac0d8b864a90ac5cdc53bf550 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 8 Dec 2016 14:11:23 +0100 Subject: [PATCH 059/239] Bump to version 19 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index b8efe67..665f4c8 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 18)

+

Welcome to your Ruby application on OpenShift (version 19)

From 9b90a395b08495401e2376e8b108c66f96a026de Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 8 Dec 2016 17:39:48 +0100 Subject: [PATCH 060/239] Handle case when no dc exists --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index bea1f01..4738067 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -4,7 +4,7 @@ def getOcCmd() { def getReplicasOpt(deploymentConfig, project) { def ocCmd = getOcCmd() - def replicas = sh(script: "${ocCmd} get dc ${deploymentConfig} --template='{{ .spec.replicas }}' -n ${project}", returnStdout: true).trim() + def replicas = sh(script: "${ocCmd} get dc ${deploymentConfig} --template='{{ .spec.replicas }}' -n ${project} || true", returnStdout: true).trim() return replicas ? "-v REPLICAS=${replicas}" : "" } From b8bcf95107cbdf8ef0d5f82be149400cb79e46ee Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 8 Dec 2016 23:32:06 +0100 Subject: [PATCH 061/239] Some renaming --- deployment/{persistent-volumes.yaml => volumes.yaml} | 2 ++ 1 file changed, 2 insertions(+) rename deployment/{persistent-volumes.yaml => volumes.yaml} (86%) diff --git a/deployment/persistent-volumes.yaml b/deployment/volumes.yaml similarity index 86% rename from deployment/persistent-volumes.yaml rename to deployment/volumes.yaml index 52f0779..3f3f0c7 100644 --- a/deployment/persistent-volumes.yaml +++ b/deployment/volumes.yaml @@ -3,6 +3,8 @@ apiVersion: v1 kind: PersistentVolume metadata: name: disk-1 + labels: + durability: permanent spec: capacity: storage: 10Gi From fa84cb2546c6b1c252db4c263307892ae5da6212 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 8 Dec 2016 23:32:58 +0100 Subject: [PATCH 062/239] Some cleanup --- deployment/config/app.yaml | 10 +++++++--- deployment/config/build.yaml | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/deployment/config/app.yaml b/deployment/config/app.yaml index 2378bbe..63e29ca 100644 --- a/deployment/config/app.yaml +++ b/deployment/config/app.yaml @@ -4,9 +4,9 @@ objects: - apiVersion: v1 kind: DeploymentConfig metadata: + name: ${APP} labels: app: ${APP} - name: ${APP} spec: replicas: ${REPLICAS} selector: @@ -38,9 +38,9 @@ objects: - apiVersion: v1 kind: Service metadata: + name: ${APP} labels: app: ${APP} - name: ${APP} spec: ports: - name: 8080-tcp @@ -53,9 +53,9 @@ objects: - apiVersion: v1 kind: Route metadata: + name: ${APP} labels: app: ${APP} - name: ${APP} spec: port: targetPort: 8080-tcp @@ -82,3 +82,7 @@ parameters: displayName: Replicas name: REPLICAS value: "1" +- description: The durability of reclaimed storage volumes. + displayName: Storage durability + name: STORAGE_DURABILITY + value: permanent diff --git a/deployment/config/build.yaml b/deployment/config/build.yaml index 61e2d7e..6a81161 100644 --- a/deployment/config/build.yaml +++ b/deployment/config/build.yaml @@ -4,15 +4,15 @@ objects: - apiVersion: v1 kind: ImageStream metadata: + name: frontend labels: app: frontend - name: frontend - apiVersion: v1 kind: BuildConfig metadata: + name: frontend labels: app: frontend - name: frontend spec: output: to: From ea3a968fb1343102d5f48f1b035e331961f78fe9 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 8 Dec 2016 23:53:28 +0100 Subject: [PATCH 063/239] Add a pvc --- deployment/config/app.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/deployment/config/app.yaml b/deployment/config/app.yaml index 63e29ca..f18fb1f 100644 --- a/deployment/config/app.yaml +++ b/deployment/config/app.yaml @@ -1,6 +1,21 @@ apiVersion: v1 kind: Template objects: +- apiVersion: v1 + kind: PersistentVolumeClaim + metadata: + name: ${APP}-data + labels: + app: ${APP} + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + selector: + matchLabels: + durability: ${STORAGE_DURABILITY} - apiVersion: v1 kind: DeploymentConfig metadata: From 0c380f192bca5ae2d451802daed36cc329c95641 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 01:13:22 +0100 Subject: [PATCH 064/239] Parameterize the storage size --- deployment/config/app.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/deployment/config/app.yaml b/deployment/config/app.yaml index f18fb1f..53e7354 100644 --- a/deployment/config/app.yaml +++ b/deployment/config/app.yaml @@ -12,7 +12,7 @@ objects: - ReadWriteOnce resources: requests: - storage: 10Gi + storage: ${STORAGE_SIZE} selector: matchLabels: durability: ${STORAGE_DURABILITY} @@ -101,3 +101,7 @@ parameters: displayName: Storage durability name: STORAGE_DURABILITY value: permanent +- description: The size of the storage to reclaim. + displayName: Storage size + name: STORAGE_SIZE + value: 5Gi From d8e090f39ff38fabbfd1e3e2c97e6c02da835e42 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 01:17:44 +0100 Subject: [PATCH 065/239] Rename configs to manifests --- deployment/{config => manifests}/app.yaml | 0 deployment/{config => manifests}/build.yaml | 0 deployment/pipeline.groovy | 10 +++++----- 3 files changed, 5 insertions(+), 5 deletions(-) rename deployment/{config => manifests}/app.yaml (100%) rename deployment/{config => manifests}/build.yaml (100%) diff --git a/deployment/config/app.yaml b/deployment/manifests/app.yaml similarity index 100% rename from deployment/config/app.yaml rename to deployment/manifests/app.yaml diff --git a/deployment/config/build.yaml b/deployment/manifests/build.yaml similarity index 100% rename from deployment/config/build.yaml rename to deployment/manifests/build.yaml diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 4738067..b2c1133 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -11,18 +11,18 @@ def getReplicasOpt(deploymentConfig, project) { node() { def ocCmd = getOcCmd() - def buildConfigFile = "deployment/config/build.yaml" - def appConfigFile = "deployment/config/app.yaml" + def buildManifest = "deployment/manifests/build.yaml" + def appManifest = "deployment/manifests/app.yaml" stage('Build') { git "https://github.com/omallo/ruby-ex.git" - sh "${ocCmd} process -f ${buildConfigFile} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" + sh "${ocCmd} process -f ${buildManifest} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} start-build frontend -w -n rubex-dev" } stage('Deploy to DEV') { def replicasOpt = getReplicasOpt("frontend", "rubex-dev") - sh "${ocCmd} process -f ${appConfigFile} -v ENV=dev ${replicasOpt} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" + sh "${ocCmd} process -f ${appManifest} -v ENV=dev ${replicasOpt} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} tag rubex-dev/frontend:latest rubex-dev/frontend:dev" sh "${ocCmd} rollout latest dc/frontend -n rubex-dev" sh "${ocCmd} rollout status dc/frontend -n rubex-dev" @@ -36,7 +36,7 @@ node() { if (isPromoteToTest) { stage('Deploy to TEST') { def replicasOpt = getReplicasOpt("frontend", "rubex-test") - sh "${ocCmd} process -f ${appConfigFile} -v ENV=test ${replicasOpt} -n rubex-test | ${ocCmd} apply -f - -n rubex-test" + sh "${ocCmd} process -f ${appManifest} -v ENV=test ${replicasOpt} -n rubex-test | ${ocCmd} apply -f - -n rubex-test" sh "${ocCmd} tag rubex-dev/frontend:dev rubex-dev/frontend:test" sh "${ocCmd} rollout latest dc/frontend -n rubex-test" sh "${ocCmd} rollout status dc/frontend -n rubex-test" From d4f404ea702aec4468c055d7ec2e1e61a44770f4 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 01:29:24 +0100 Subject: [PATCH 066/239] Remove the storage durability configuration --- deployment/manifests/app.yaml | 7 ------- deployment/volumes.yaml | 2 -- 2 files changed, 9 deletions(-) diff --git a/deployment/manifests/app.yaml b/deployment/manifests/app.yaml index 53e7354..98b9f24 100644 --- a/deployment/manifests/app.yaml +++ b/deployment/manifests/app.yaml @@ -13,9 +13,6 @@ objects: resources: requests: storage: ${STORAGE_SIZE} - selector: - matchLabels: - durability: ${STORAGE_DURABILITY} - apiVersion: v1 kind: DeploymentConfig metadata: @@ -97,10 +94,6 @@ parameters: displayName: Replicas name: REPLICAS value: "1" -- description: The durability of reclaimed storage volumes. - displayName: Storage durability - name: STORAGE_DURABILITY - value: permanent - description: The size of the storage to reclaim. displayName: Storage size name: STORAGE_SIZE diff --git a/deployment/volumes.yaml b/deployment/volumes.yaml index 3f3f0c7..52f0779 100644 --- a/deployment/volumes.yaml +++ b/deployment/volumes.yaml @@ -3,8 +3,6 @@ apiVersion: v1 kind: PersistentVolume metadata: name: disk-1 - labels: - durability: permanent spec: capacity: storage: 10Gi From 470201c159c0949aa38fc28b1a65b14bca1ce277 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 12:51:26 +0100 Subject: [PATCH 067/239] Some cleanup --- deployment/pipeline.groovy | 12 ++++++------ deployment/setup.sh | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index b2c1133..9f9d7a8 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -2,10 +2,10 @@ def getOcCmd() { return "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" } -def getReplicasOpt(deploymentConfig, project) { +def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { def ocCmd = getOcCmd() def replicas = sh(script: "${ocCmd} get dc ${deploymentConfig} --template='{{ .spec.replicas }}' -n ${project} || true", returnStdout: true).trim() - return replicas ? "-v REPLICAS=${replicas}" : "" + return replicas ?: defaultReplicas } node() { @@ -21,8 +21,8 @@ node() { } stage('Deploy to DEV') { - def replicasOpt = getReplicasOpt("frontend", "rubex-dev") - sh "${ocCmd} process -f ${appManifest} -v ENV=dev ${replicasOpt} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" + def replicas = getReplicasOrDefault("frontend", "rubex-dev", 1) + sh "${ocCmd} process -f ${appManifest} -v ENV=dev,REPLICAS=${replicas} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} tag rubex-dev/frontend:latest rubex-dev/frontend:dev" sh "${ocCmd} rollout latest dc/frontend -n rubex-dev" sh "${ocCmd} rollout status dc/frontend -n rubex-dev" @@ -35,8 +35,8 @@ node() { if (isPromoteToTest) { stage('Deploy to TEST') { - def replicasOpt = getReplicasOpt("frontend", "rubex-test") - sh "${ocCmd} process -f ${appManifest} -v ENV=test ${replicasOpt} -n rubex-test | ${ocCmd} apply -f - -n rubex-test" + def replicas = getReplicasOrDefault("frontend", "rubex-test", 2) + sh "${ocCmd} process -f ${appManifest} -v ENV=test,REPLICAS=${replicas} -n rubex-test | ${ocCmd} apply -f - -n rubex-test" sh "${ocCmd} tag rubex-dev/frontend:dev rubex-dev/frontend:test" sh "${ocCmd} rollout latest dc/frontend -n rubex-test" sh "${ocCmd} rollout status dc/frontend -n rubex-test" diff --git a/deployment/setup.sh b/deployment/setup.sh index a4651ff..7e61890 100644 --- a/deployment/setup.sh +++ b/deployment/setup.sh @@ -35,8 +35,8 @@ oc tag rubex-dev/frontend:latest rubex-dev/frontend:test oc login -u admin -p admin oc new-project cicd -oc policy add-role-to-user edit system:serviceaccount:cicd:default -n rubex-dev -oc policy add-role-to-user edit system:serviceaccount:cicd:default -n rubex-test +oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-dev +oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-test -oc new-app --name=ci omallo/oc-jenkins +oc new-app --name=jenkins omallo/oc-jenkins oc expose svc ci --hostname ci.oc.habitz-app.com From 0cb54f54fe2dbd21f129c75c4aee1cfc50362192 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 13:00:34 +0100 Subject: [PATCH 068/239] Fix command line syntax for passing template parameters --- deployment/pipeline.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 9f9d7a8..0815395 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -22,7 +22,7 @@ node() { stage('Deploy to DEV') { def replicas = getReplicasOrDefault("frontend", "rubex-dev", 1) - sh "${ocCmd} process -f ${appManifest} -v ENV=dev,REPLICAS=${replicas} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" + sh "${ocCmd} process -f ${appManifest} -v ENV=dev -v REPLICAS=${replicas} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} tag rubex-dev/frontend:latest rubex-dev/frontend:dev" sh "${ocCmd} rollout latest dc/frontend -n rubex-dev" sh "${ocCmd} rollout status dc/frontend -n rubex-dev" @@ -36,7 +36,7 @@ node() { if (isPromoteToTest) { stage('Deploy to TEST') { def replicas = getReplicasOrDefault("frontend", "rubex-test", 2) - sh "${ocCmd} process -f ${appManifest} -v ENV=test,REPLICAS=${replicas} -n rubex-test | ${ocCmd} apply -f - -n rubex-test" + sh "${ocCmd} process -f ${appManifest} -v ENV=test -v REPLICAS=${replicas} -n rubex-test | ${ocCmd} apply -f - -n rubex-test" sh "${ocCmd} tag rubex-dev/frontend:dev rubex-dev/frontend:test" sh "${ocCmd} rollout latest dc/frontend -n rubex-test" sh "${ocCmd} rollout status dc/frontend -n rubex-test" From 5e16cde472b33db40b4dec1f244a029d62c7aa9c Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 13:05:30 +0100 Subject: [PATCH 069/239] Bump the version to 20 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 665f4c8..69a6672 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 19)

+

Welcome to your Ruby application on OpenShift (version 20)

From 2c34900c3765d74491e1f855d39683b3b4144ae1 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 13:24:35 +0100 Subject: [PATCH 070/239] Change folder structure --- {deployment => infra}/setup.sh | 0 {deployment => infra}/volumes.yaml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {deployment => infra}/setup.sh (100%) rename {deployment => infra}/volumes.yaml (100%) diff --git a/deployment/setup.sh b/infra/setup.sh similarity index 100% rename from deployment/setup.sh rename to infra/setup.sh diff --git a/deployment/volumes.yaml b/infra/volumes.yaml similarity index 100% rename from deployment/volumes.yaml rename to infra/volumes.yaml From ce7365b56569d9f35af3dfaf7444fd1f2eebbc75 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 14:33:03 +0100 Subject: [PATCH 071/239] Some cleanup --- deployment/pipeline.groovy | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 0815395..82597de 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -14,13 +14,13 @@ node() { def buildManifest = "deployment/manifests/build.yaml" def appManifest = "deployment/manifests/app.yaml" - stage('Build') { + stage("Build") { git "https://github.com/omallo/ruby-ex.git" sh "${ocCmd} process -f ${buildManifest} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} start-build frontend -w -n rubex-dev" } - stage('Deploy to DEV') { + stage("Deploy to DEV") { def replicas = getReplicasOrDefault("frontend", "rubex-dev", 1) sh "${ocCmd} process -f ${appManifest} -v ENV=dev -v REPLICAS=${replicas} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} tag rubex-dev/frontend:latest rubex-dev/frontend:dev" @@ -29,12 +29,12 @@ node() { } def isPromoteToTest = false - stage('Promote to TEST?') { - isPromoteToTest = input(message: 'Promotion', parameters: [booleanParam(defaultValue: false, name: 'Promote to TEST?')]) + stage("Promote to TEST?") { + isPromoteToTest = input(message: "Promotion", parameters: [booleanParam(defaultValue: false, name: "Promote to TEST?")]) } if (isPromoteToTest) { - stage('Deploy to TEST') { + stage("Deploy to TEST") { def replicas = getReplicasOrDefault("frontend", "rubex-test", 2) sh "${ocCmd} process -f ${appManifest} -v ENV=test -v REPLICAS=${replicas} -n rubex-test | ${ocCmd} apply -f - -n rubex-test" sh "${ocCmd} tag rubex-dev/frontend:dev rubex-dev/frontend:test" From e2a1062431606e5ffa3c1c97105e95d509cfab16 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 14:38:54 +0100 Subject: [PATCH 072/239] PoC to read the config from a file --- deployment/config.yaml | 4 ++++ deployment/pipeline.groovy | 5 +++++ 2 files changed, 9 insertions(+) create mode 100644 deployment/config.yaml diff --git a/deployment/config.yaml b/deployment/config.yaml new file mode 100644 index 0000000..85868f2 --- /dev/null +++ b/deployment/config.yaml @@ -0,0 +1,4 @@ +dev: + foo: bar +test: + foo2: bar2 diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 82597de..6ddf774 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -11,9 +11,14 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { node() { def ocCmd = getOcCmd() + def configFile = "deployment/config.yaml" def buildManifest = "deployment/manifests/build.yaml" def appManifest = "deployment/manifests/app.yaml" + Yaml configFileYaml = new Yaml() + def config = configFileYaml.load(configFile) + println config + stage("Build") { git "https://github.com/omallo/ruby-ex.git" sh "${ocCmd} process -f ${buildManifest} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" From 5572d4751ee27fc108f7323c6070826ae9934d5b Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 14:39:52 +0100 Subject: [PATCH 073/239] PoC to read the config from a file --- deployment/pipeline.groovy | 2 ++ 1 file changed, 2 insertions(+) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 6ddf774..fe71ccc 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,3 +1,5 @@ +import org.yaml.snakeyaml.Yaml + def getOcCmd() { return "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" } From 50dffbc7d0a4555c8b4080189fdd41e3aecf3845 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 14:42:09 +0100 Subject: [PATCH 074/239] PoC to read the config from a file --- deployment/pipeline.groovy | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index fe71ccc..1f49b29 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,5 +1,3 @@ -import org.yaml.snakeyaml.Yaml - def getOcCmd() { return "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" } @@ -17,8 +15,7 @@ node() { def buildManifest = "deployment/manifests/build.yaml" def appManifest = "deployment/manifests/app.yaml" - Yaml configFileYaml = new Yaml() - def config = configFileYaml.load(configFile) + def config = def config = new JsonSlurper().parse(new File(configFile)) println config stage("Build") { From 750cec38b59f2fc9fc138a11bdb150c4a78e5e33 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 14:42:43 +0100 Subject: [PATCH 075/239] PoC to read the config from a file --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 1f49b29..7b0331b 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -15,7 +15,7 @@ node() { def buildManifest = "deployment/manifests/build.yaml" def appManifest = "deployment/manifests/app.yaml" - def config = def config = new JsonSlurper().parse(new File(configFile)) + def config = new JsonSlurper().parse(new File(configFile)) println config stage("Build") { From 627e4c2880dc3ef6ac7556f2104f41ea855be1f7 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 14:43:49 +0100 Subject: [PATCH 076/239] PoC to read config from a file --- deployment/pipeline.groovy | 2 ++ 1 file changed, 2 insertions(+) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 7b0331b..feab530 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,3 +1,5 @@ +import groovy.json.JsonSlurper + def getOcCmd() { return "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" } From 133fe8272377e2a97730009081c3353ecc804e66 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 14:44:34 +0100 Subject: [PATCH 077/239] PoC to read config from file --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index feab530..a069d16 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -17,7 +17,7 @@ node() { def buildManifest = "deployment/manifests/build.yaml" def appManifest = "deployment/manifests/app.yaml" - def config = new JsonSlurper().parse(new File(configFile)) + def config = new JsonSlurper().parse(configFile) println config stage("Build") { From d3eda62cb6d69382072540aeec8e5a2caebee4ec Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 14:53:29 +0100 Subject: [PATCH 078/239] PoC to read config from file --- deployment/pipeline.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index a069d16..3d13f62 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,4 +1,4 @@ -import groovy.json.JsonSlurper +import org.yaml.snakeyaml.Yaml def getOcCmd() { return "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" @@ -17,7 +17,7 @@ node() { def buildManifest = "deployment/manifests/build.yaml" def appManifest = "deployment/manifests/app.yaml" - def config = new JsonSlurper().parse(configFile) + def config = new Yaml().load(configFile) println config stage("Build") { From 1322dce4d594826a69f2a8af2f1072b791ad766a Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 14:55:27 +0100 Subject: [PATCH 079/239] PoC to read config from file --- deployment/pipeline.groovy | 2 ++ 1 file changed, 2 insertions(+) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 3d13f62..71de9b0 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -18,7 +18,9 @@ node() { def appManifest = "deployment/manifests/app.yaml" def config = new Yaml().load(configFile) + println "teeeeeest start" println config + println "teeeeeest end" stage("Build") { git "https://github.com/omallo/ruby-ex.git" From 67fccfcba379eb8634bbf84a9beee0714da9630c Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 14:57:54 +0100 Subject: [PATCH 080/239] Buh --- deployment/pipeline.groovy | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 71de9b0..b936352 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -17,9 +17,11 @@ node() { def buildManifest = "deployment/manifests/build.yaml" def appManifest = "deployment/manifests/app.yaml" - def config = new Yaml().load(configFile) + def config = new Yaml().load(readFile(configFile) println "teeeeeest start" println config + println config.dev + println config.test println "teeeeeest end" stage("Build") { From 881d13a42bfa19287f2028a8510ce235037df1c3 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 14:58:27 +0100 Subject: [PATCH 081/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index b936352..66ec4ac 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -17,7 +17,7 @@ node() { def buildManifest = "deployment/manifests/build.yaml" def appManifest = "deployment/manifests/app.yaml" - def config = new Yaml().load(readFile(configFile) + def config = new Yaml().load(readFile(configFile)) println "teeeeeest start" println config println config.dev From ac9952b207bf0a1653fc4643b987f060b30800e9 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 14:59:11 +0100 Subject: [PATCH 082/239] Buh --- deployment/pipeline.groovy | 1 + 1 file changed, 1 insertion(+) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 66ec4ac..12066f8 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -23,6 +23,7 @@ node() { println config.dev println config.test println "teeeeeest end" + config = null stage("Build") { git "https://github.com/omallo/ruby-ex.git" From 1e8a9d62f888bc90e8ae29467bf098a4aebb665a Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 14:59:57 +0100 Subject: [PATCH 083/239] Buh --- deployment/pipeline.groovy | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 12066f8..e73ee43 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -17,11 +17,9 @@ node() { def buildManifest = "deployment/manifests/build.yaml" def appManifest = "deployment/manifests/app.yaml" - def config = new Yaml().load(readFile(configFile)) + def config = new Yaml().load(readFile(configFile)).dev println "teeeeeest start" println config - println config.dev - println config.test println "teeeeeest end" config = null From df6f6f7338d36559be8a9de2ce07414b43d84513 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:10:29 +0100 Subject: [PATCH 084/239] Buh --- deployment/pipeline.groovy | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index e73ee43..d7952cb 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -17,11 +17,9 @@ node() { def buildManifest = "deployment/manifests/build.yaml" def appManifest = "deployment/manifests/app.yaml" - def config = new Yaml().load(readFile(configFile)).dev println "teeeeeest start" - println config + println new Yaml().load(readFile(configFile)).dev println "teeeeeest end" - config = null stage("Build") { git "https://github.com/omallo/ruby-ex.git" From cf92d9fbd0654448ee07ab1c019b56c1a69c06ba Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:12:16 +0100 Subject: [PATCH 085/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index d7952cb..21701c8 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -18,7 +18,7 @@ node() { def appManifest = "deployment/manifests/app.yaml" println "teeeeeest start" - println new Yaml().load(readFile(configFile)).dev + new Yaml().load(readFile(configFile)).dev.each(e -> println e) println "teeeeeest end" stage("Build") { From 36af3cb6e5b3fce16080a61ab2adf0b052466786 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:13:24 +0100 Subject: [PATCH 086/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 21701c8..75b20a7 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -18,7 +18,7 @@ node() { def appManifest = "deployment/manifests/app.yaml" println "teeeeeest start" - new Yaml().load(readFile(configFile)).dev.each(e -> println e) + new Yaml().load(readFile(configFile)).dev.each { e -> println e } println "teeeeeest end" stage("Build") { From fc8d0b43399c9f510163ccda1731dbf3ed405e7d Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:14:08 +0100 Subject: [PATCH 087/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 75b20a7..1ed3bc1 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -18,7 +18,7 @@ node() { def appManifest = "deployment/manifests/app.yaml" println "teeeeeest start" - new Yaml().load(readFile(configFile)).dev.each { e -> println e } + new Yaml().load(readFile(configFile)).dev.each { e -> println e.toString() } println "teeeeeest end" stage("Build") { From d84caaf06190eba15e924ecba13c630c9589a6e7 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:14:40 +0100 Subject: [PATCH 088/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 1ed3bc1..cb060a2 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -18,7 +18,7 @@ node() { def appManifest = "deployment/manifests/app.yaml" println "teeeeeest start" - new Yaml().load(readFile(configFile)).dev.each { e -> println e.toString() } + new Yaml().load(readFile(configFile)).dev.each { e -> println "hmm" } println "teeeeeest end" stage("Build") { From 44bd316b37ef637cf294e9d4420b0c7af0e28881 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:15:51 +0100 Subject: [PATCH 089/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index cb060a2..6521e9d 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -18,7 +18,7 @@ node() { def appManifest = "deployment/manifests/app.yaml" println "teeeeeest start" - new Yaml().load(readFile(configFile)).dev.each { e -> println "hmm" } + new Yaml().load(readFile(configFile)) println "teeeeeest end" stage("Build") { From 4b48851f4f6d4884f23c24cbff89320e5f391a46 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:17:10 +0100 Subject: [PATCH 090/239] Buh --- deployment/pipeline.groovy | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 6521e9d..6b6137f 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -10,6 +10,11 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { return replicas ?: defaultReplicas } +@NoCPS +def getConfig(environment) { + new Yaml().load(readFile("deployment/config.yaml")) +} + node() { def ocCmd = getOcCmd() @@ -18,7 +23,7 @@ node() { def appManifest = "deployment/manifests/app.yaml" println "teeeeeest start" - new Yaml().load(readFile(configFile)) + getConfig("dev") println "teeeeeest end" stage("Build") { From 45616594be088baeda586d0e6ef653a7d91c49cc Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:18:30 +0100 Subject: [PATCH 091/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 6b6137f..d18f752 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -10,7 +10,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { return replicas ?: defaultReplicas } -@NoCPS +@NonCPS def getConfig(environment) { new Yaml().load(readFile("deployment/config.yaml")) } From 11f5d34b339d23ebf20dd608a9b91668d4c89481 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:19:19 +0100 Subject: [PATCH 092/239] Buh --- deployment/pipeline.groovy | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index d18f752..a5364a2 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -12,18 +12,17 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig(environment) { - new Yaml().load(readFile("deployment/config.yaml")) + return new Yaml().load(readFile("deployment/config.yaml"))[environment] } node() { def ocCmd = getOcCmd() - def configFile = "deployment/config.yaml" def buildManifest = "deployment/manifests/build.yaml" def appManifest = "deployment/manifests/app.yaml" println "teeeeeest start" - getConfig("dev") + println getConfig("dev") println "teeeeeest end" stage("Build") { From 5b93c62c8d3956fbc88b794e84f39c39678d08a1 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:20:36 +0100 Subject: [PATCH 093/239] Buh --- deployment/pipeline.groovy | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index a5364a2..ddd4769 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -22,7 +22,8 @@ node() { def appManifest = "deployment/manifests/app.yaml" println "teeeeeest start" - println getConfig("dev") + def config = getConfig("dev") + println config println "teeeeeest end" stage("Build") { From b8776a54129b3d1c93360991e57fd78c71c6c4a0 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:23:17 +0100 Subject: [PATCH 094/239] Buh --- deployment/pipeline.groovy | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index ddd4769..ec9e516 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -11,8 +11,8 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { } @NonCPS -def getConfig(environment) { - return new Yaml().load(readFile("deployment/config.yaml"))[environment] +def getConfig() { + return new Yaml().load(readFile("deployment/config.yaml")) } node() { @@ -22,8 +22,8 @@ node() { def appManifest = "deployment/manifests/app.yaml" println "teeeeeest start" - def config = getConfig("dev") - println config + def config = getConfig() + println config.dev println "teeeeeest end" stage("Build") { From 1ce7e0cf01fe6826f4114fce016845adebdac262 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:25:50 +0100 Subject: [PATCH 095/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index ec9e516..b9c11f6 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -23,7 +23,7 @@ node() { println "teeeeeest start" def config = getConfig() - println config.dev + println config.getClass() println "teeeeeest end" stage("Build") { From be150b92758468da2bbaa1b3f1cc12cf83200f83 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:27:28 +0100 Subject: [PATCH 096/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index b9c11f6..7182a80 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -12,7 +12,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { - return new Yaml().load(readFile("deployment/config.yaml")) + return new Yaml().load(streamFileFromWorkspace("deployment/config.yaml")) } node() { From 9c860281d0f74512c9c4e2e635013a59129eb947 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:28:50 +0100 Subject: [PATCH 097/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 7182a80..df056f0 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -12,7 +12,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { - return new Yaml().load(streamFileFromWorkspace("deployment/config.yaml")) + return new Yaml().load(fileLoader("deployment/config.yaml")) } node() { From 548f2635227261765f92e3974fb0bc930ba19d0c Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:29:33 +0100 Subject: [PATCH 098/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index df056f0..2019385 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -12,7 +12,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { - return new Yaml().load(fileLoader("deployment/config.yaml")) + return new Yaml().load(file("deployment/config.yaml")) } node() { From 3895d027274b2d908fb3f9fc9a8f3b7b9cca3da7 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:30:11 +0100 Subject: [PATCH 099/239] Buh --- deployment/pipeline.groovy | 1 + 1 file changed, 1 insertion(+) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 2019385..b061ef3 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -12,6 +12,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { + println file("deployment/config.yaml").getClass() return new Yaml().load(file("deployment/config.yaml")) } From ae6230c4813e9e59c4fdf61afef47fda327a2c8e Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:41:31 +0100 Subject: [PATCH 100/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index b061ef3..e087ac1 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -12,7 +12,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { - println file("deployment/config.yaml").getClass() + println new Yaml().load(file("deployment/config.yaml")).getClass() return new Yaml().load(file("deployment/config.yaml")) } From 3310456586f6a2353885596d5a8fa115e1357b4e Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:42:29 +0100 Subject: [PATCH 101/239] Buh --- deployment/pipeline.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index e087ac1..44f94f3 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -12,8 +12,8 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { - println new Yaml().load(file("deployment/config.yaml")).getClass() - return new Yaml().load(file("deployment/config.yaml")) + println new Yaml().load(readFile("deployment/config.yaml")).getClass() + return new Yaml().load(readFile("deployment/config.yaml")) } node() { From e2f24a24bcbd4b0247bf5375c588877f804828f2 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:49:43 +0100 Subject: [PATCH 102/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 44f94f3..85f940b 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -12,7 +12,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { - println new Yaml().load(readFile("deployment/config.yaml")).getClass() + println "foo::: " + new Yaml(new Constructor(Map.class)).load(readFile("deployment/config.yaml")).getClass() return new Yaml().load(readFile("deployment/config.yaml")) } From 290f3926d729ce93899f67c6571a9a6c2bda9e54 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:51:57 +0100 Subject: [PATCH 103/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 85f940b..005ac3d 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -12,7 +12,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { - println "foo::: " + new Yaml(new Constructor(Map.class)).load(readFile("deployment/config.yaml")).getClass() + println "foo::: " + new Yaml(new java.reflect.Constructor(java.util.Map.class)).load(readFile("deployment/config.yaml")).getClass() return new Yaml().load(readFile("deployment/config.yaml")) } From 1a59832aa923af539f87ecc93dd8e45529dc6a7f Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:52:57 +0100 Subject: [PATCH 104/239] Buh --- deployment/pipeline.groovy | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 005ac3d..2deca01 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,4 +1,5 @@ import org.yaml.snakeyaml.Yaml +import org.yaml.snakeyaml.constructor.Constructor def getOcCmd() { return "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" @@ -12,7 +13,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { - println "foo::: " + new Yaml(new java.reflect.Constructor(java.util.Map.class)).load(readFile("deployment/config.yaml")).getClass() + println "foo::: " + new Yaml(new Constructor(Map.class)).load(readFile("deployment/config.yaml")).getClass() return new Yaml().load(readFile("deployment/config.yaml")) } From f5ebae636fa65ae425eb1f24446888e5293f477e Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:54:24 +0100 Subject: [PATCH 105/239] Buh --- deployment/pipeline.groovy | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 2deca01..8c4cc75 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -13,8 +13,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { - println "foo::: " + new Yaml(new Constructor(Map.class)).load(readFile("deployment/config.yaml")).getClass() - return new Yaml().load(readFile("deployment/config.yaml")) + return new Yaml(new Constructor(Map.class)).load(readFile("deployment/config.yaml")) } node() { From 75d3f108e8cef5dc7bbdba557f2d296b033dde02 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:55:28 +0100 Subject: [PATCH 106/239] Buh --- deployment/pipeline.groovy | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 8c4cc75..95914b7 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -22,13 +22,14 @@ node() { def buildManifest = "deployment/manifests/build.yaml" def appManifest = "deployment/manifests/app.yaml" - println "teeeeeest start" - def config = getConfig() - println config.getClass() - println "teeeeeest end" - stage("Build") { git "https://github.com/omallo/ruby-ex.git" + + println "teeeeeest start" + def config = getConfig() + println config.getClass() + println "teeeeeest end" + sh "${ocCmd} process -f ${buildManifest} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} start-build frontend -w -n rubex-dev" } From e86f0eae13967b006c1c72b870fb4b0e8dd1cf76 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 15:59:29 +0100 Subject: [PATCH 107/239] Buh --- deployment/config.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/deployment/config.yaml b/deployment/config.yaml index 85868f2..f830a17 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -1,3 +1,4 @@ +--- dev: foo: bar test: From 4a9933b9b37aa8d8ee128520cf8b89f1c828d665 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:02:20 +0100 Subject: [PATCH 108/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 95914b7..3515a68 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -13,7 +13,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { - return new Yaml(new Constructor(Map.class)).load(readFile("deployment/config.yaml")) + return new Yaml(new Constructor(Map)).load(readFile("deployment/config.yaml")) } node() { From 8a0a3a651efcd363df8f3fd8f0f64a842ff8d232 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:04:15 +0100 Subject: [PATCH 109/239] Buh --- deployment/pipeline.groovy | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 3515a68..2e4ff6b 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -13,7 +13,8 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { - return new Yaml(new Constructor(Map)).load(readFile("deployment/config.yaml")) + def ctor = new Constructor(MyMap) + return new Yaml(ctor).load(readFile("deployment/config.yaml")) } node() { From c06533e1470dac119ccdd35031d0d8218e177438 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:05:17 +0100 Subject: [PATCH 110/239] Buh --- deployment/pipeline.groovy | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 2e4ff6b..e095c89 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -13,8 +13,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { - def ctor = new Constructor(MyMap) - return new Yaml(ctor).load(readFile("deployment/config.yaml")) + return new Yaml(new Constructor(HashMap)).load(readFile("deployment/config.yaml")) } node() { From 56b381585cea1941c99d82118ea4f7817d3513dc Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:06:48 +0100 Subject: [PATCH 111/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index e095c89..4827ffe 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -13,7 +13,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { - return new Yaml(new Constructor(HashMap)).load(readFile("deployment/config.yaml")) + return new Yaml().loadAs(readFile("deployment/config.yaml"), HashMap) } node() { From 23d3d638b4d917fbbb708a05f563580028b48da3 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:09:10 +0100 Subject: [PATCH 112/239] Buh --- deployment/pipeline.groovy | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 4827ffe..a4a4c9f 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -13,7 +13,10 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { - return new Yaml().loadAs(readFile("deployment/config.yaml"), HashMap) + def yamlAsString = "{JYaml: Original Java Implementation, " + + "JvYaml: Java port of RbYaml, SnakeYAML: Java 5 / YAML 1.1, " + + "YamlBeans: To/from JavaBeans}"; + return new Yaml().load(yamlAsString) } node() { From 3c315e96b56e5ff170d484d12df2b2969e4d9d2f Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:10:07 +0100 Subject: [PATCH 113/239] Buh --- deployment/pipeline.groovy | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index a4a4c9f..d799b63 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -13,9 +13,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { - def yamlAsString = "{JYaml: Original Java Implementation, " - + "JvYaml: Java port of RbYaml, SnakeYAML: Java 5 / YAML 1.1, " - + "YamlBeans: To/from JavaBeans}"; + def yamlAsString = "{JYaml: Original Java Implementation, JvYaml: Java port of RbYaml, SnakeYAML: Java 5 / YAML 1.1, YamlBeans: To/from JavaBeans}" return new Yaml().load(yamlAsString) } From f9d480761427c4c23a24841dde6ccb0046f29d59 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:11:15 +0100 Subject: [PATCH 114/239] Buh --- deployment/pipeline.groovy | 2 ++ 1 file changed, 2 insertions(+) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index d799b63..ac9a14b 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -26,6 +26,8 @@ node() { stage("Build") { git "https://github.com/omallo/ruby-ex.git" + println readFile("deployment/config.yaml") + println "teeeeeest start" def config = getConfig() println config.getClass() From 17df7183cf63e52be9a0bc98fb2fa9aa7823d2dd Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:12:36 +0100 Subject: [PATCH 115/239] Buh --- deployment/config.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index f830a17..85868f2 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -1,4 +1,3 @@ ---- dev: foo: bar test: From 341e16c897d9bb79f4d951be570559aad68d8d46 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:13:17 +0100 Subject: [PATCH 116/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index ac9a14b..4f31396 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -14,7 +14,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { def yamlAsString = "{JYaml: Original Java Implementation, JvYaml: Java port of RbYaml, SnakeYAML: Java 5 / YAML 1.1, YamlBeans: To/from JavaBeans}" - return new Yaml().load(yamlAsString) + return new Yaml().load(readFile("deployment/config.yaml")) } node() { From ee0642fdc940a80eda98ca890495b912620d9b68 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:15:25 +0100 Subject: [PATCH 117/239] Buh --- deployment/config.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index 85868f2..f618f59 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -1,4 +1,6 @@ -dev: - foo: bar -test: - foo2: bar2 +development: + adapter: mysql + database: project_development + username: root + password: + socket: /tmp/mysql.sock \ No newline at end of file From 1acd1582d5e46a6dbb485115308a26d7d42b2fef Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:17:01 +0100 Subject: [PATCH 118/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 4f31396..731e108 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -14,7 +14,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { def yamlAsString = "{JYaml: Original Java Implementation, JvYaml: Java port of RbYaml, SnakeYAML: Java 5 / YAML 1.1, YamlBeans: To/from JavaBeans}" - return new Yaml().load(readFile("deployment/config.yaml")) + return new Yaml().load("a: 1\nb: 2\nc:\n - aaa\n - bbb") } node() { From e5c4f50201dee7e83e70a9cc559dfd5c267cca09 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:18:18 +0100 Subject: [PATCH 119/239] Buh --- deployment/config.yaml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index f618f59..2620113 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -1,6 +1,5 @@ -development: - adapter: mysql - database: project_development - username: root - password: - socket: /tmp/mysql.sock \ No newline at end of file +a: 1 +b: 2 +c: + - aaa + - bbb \ No newline at end of file From bcd2a1d0179c6ab1fe5db6968a1d4501d041869a Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:19:22 +0100 Subject: [PATCH 120/239] Buh --- deployment/config.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index 2620113..775f791 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -1,5 +1,6 @@ a: 1 -b: 2 +b: + x: 37 c: - aaa - bbb \ No newline at end of file From c59000f41e2d582d48ee65a08b3c2e85b186b4e5 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:20:23 +0100 Subject: [PATCH 121/239] Buh --- deployment/config.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index 775f791..fed3452 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -3,4 +3,8 @@ b: x: 37 c: - aaa - - bbb \ No newline at end of file + - bbb +dev: + foo: bar +test: + foo2: bar2 From 64ab8c6d75d92e731890a84d11070bb97d77d6a1 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:21:03 +0100 Subject: [PATCH 122/239] Buh --- deployment/config.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index fed3452..85868f2 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -1,9 +1,3 @@ -a: 1 -b: - x: 37 -c: - - aaa - - bbb dev: foo: bar test: From 03545a25041bf7163a89869f07a1e81fde6cbaa0 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:22:02 +0100 Subject: [PATCH 123/239] Buh --- deployment/config.yaml | 9 +++++---- deployment/pipeline.groovy | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index 85868f2..2620113 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -1,4 +1,5 @@ -dev: - foo: bar -test: - foo2: bar2 +a: 1 +b: 2 +c: + - aaa + - bbb \ No newline at end of file diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 731e108..4f31396 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -14,7 +14,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { def yamlAsString = "{JYaml: Original Java Implementation, JvYaml: Java port of RbYaml, SnakeYAML: Java 5 / YAML 1.1, YamlBeans: To/from JavaBeans}" - return new Yaml().load("a: 1\nb: 2\nc:\n - aaa\n - bbb") + return new Yaml().load(readFile("deployment/config.yaml")) } node() { From fb5ddd3887b3b809675d593c391f074c44236a0f Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:23:05 +0100 Subject: [PATCH 124/239] Buh --- .gitattributes | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..ecce863 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,5 @@ +* text eol=lf +*.png binary +*.jpg binary +*.jpeg binary +*.jar binary From 10b956e5eb5440a633b119a88eff17846133fad1 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:25:23 +0100 Subject: [PATCH 125/239] Buh --- deployment/config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index 2620113..0411dee 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -2,4 +2,4 @@ a: 1 b: 2 c: - aaa - - bbb \ No newline at end of file + - bbb From 06bc80f90a2dca46cba9bb6e28284dbfde8865d8 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:29:42 +0100 Subject: [PATCH 126/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 4f31396..5655425 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -14,7 +14,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { def yamlAsString = "{JYaml: Original Java Implementation, JvYaml: Java port of RbYaml, SnakeYAML: Java 5 / YAML 1.1, YamlBeans: To/from JavaBeans}" - return new Yaml().load(readFile("deployment/config.yaml")) + return new Yaml().load(readFile(file: "deployment/config.yaml", encoding: "UTF-8")) } node() { From 6b0a91a4b82c884b00fee9745d0ce411561e7827 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:34:32 +0100 Subject: [PATCH 127/239] Buh --- deployment/pipeline.groovy | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 5655425..78ec495 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -31,13 +31,14 @@ node() { println "teeeeeest start" def config = getConfig() println config.getClass() + println config println "teeeeeest end" - sh "${ocCmd} process -f ${buildManifest} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" - sh "${ocCmd} start-build frontend -w -n rubex-dev" + //sh "${ocCmd} process -f ${buildManifest} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" + //sh "${ocCmd} start-build frontend -w -n rubex-dev" } - stage("Deploy to DEV") { + /*stage("Deploy to DEV") { def replicas = getReplicasOrDefault("frontend", "rubex-dev", 1) sh "${ocCmd} process -f ${appManifest} -v ENV=dev -v REPLICAS=${replicas} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} tag rubex-dev/frontend:latest rubex-dev/frontend:dev" @@ -58,5 +59,5 @@ node() { sh "${ocCmd} rollout latest dc/frontend -n rubex-test" sh "${ocCmd} rollout status dc/frontend -n rubex-test" } - } + }*/ } From 0f709800e17db63efd19e3a76cfb00403c263a8f Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:37:10 +0100 Subject: [PATCH 128/239] Buh --- deployment/config.yaml | 2 +- deployment/pipeline.groovy | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index 0411dee..2620113 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -2,4 +2,4 @@ a: 1 b: 2 c: - aaa - - bbb + - bbb \ No newline at end of file diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 78ec495..5dfc745 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -13,8 +13,12 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { - def yamlAsString = "{JYaml: Original Java Implementation, JvYaml: Java port of RbYaml, SnakeYAML: Java 5 / YAML 1.1, YamlBeans: To/from JavaBeans}" - return new Yaml().load(readFile(file: "deployment/config.yaml", encoding: "UTF-8")) + def yamlAsString = '''a: 1 + |b: 2 + |c: + |- aaa + |- bbb''' + return new Yaml().load(yamlAsString) } node() { From fd9edd0eeac642963e329391789b8a55acbe2156 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:38:51 +0100 Subject: [PATCH 129/239] Buh --- deployment/pipeline.groovy | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 5dfc745..2b387d9 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -13,12 +13,16 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { - def yamlAsString = '''a: 1 - |b: 2 - |c: - |- aaa - |- bbb''' - return new Yaml().load(yamlAsString) +String exampleYaml = '''widgets: + | - name: blah + | age: 3000 + | silly: true + | - name: blah meh + | age: 13939 + | silly: false + |uuid: 1938484 + |isActive: false'''.stripMargin() + return new Yaml().load(exampleYaml) } node() { From 1a5effd9a542a6156d226b3c34492e02b47fd158 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:40:18 +0100 Subject: [PATCH 130/239] Buh --- deployment/pipeline.groovy | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 2b387d9..c59a174 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -13,16 +13,8 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { -String exampleYaml = '''widgets: - | - name: blah - | age: 3000 - | silly: true - | - name: blah meh - | age: 13939 - | silly: false - |uuid: 1938484 - |isActive: false'''.stripMargin() - return new Yaml().load(exampleYaml) + def yamlAsString = "a: 1\nb: 2\nc:\n - aaa\n - bbb" + return new Yaml().load(yamlAsString) } node() { From 870d882e78c654db1239e6159faadd7e4b549fb0 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:41:36 +0100 Subject: [PATCH 131/239] Buh --- deployment/pipeline.groovy | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index c59a174..def7325 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -14,7 +14,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig() { def yamlAsString = "a: 1\nb: 2\nc:\n - aaa\n - bbb" - return new Yaml().load(yamlAsString) + return new Yaml().load(readFile(file: "deployment/config.yaml", encoding: "UTF-8")) } node() { @@ -25,6 +25,14 @@ node() { stage("Build") { git "https://github.com/omallo/ruby-ex.git" + + def a = readFile(file: "deployment/config.yaml", encoding: "UTF-8") + def b = "a: 1\nb: 2\nc:\n - aaa\n - bbb" + if (!a.equals(b)) { + println "huch" + } else { + println "yeah" + } println readFile("deployment/config.yaml") From 0ba6a1cae2e2d6508eacdbdbc2836c84f909e838 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:43:21 +0100 Subject: [PATCH 132/239] Buh --- deployment/pipeline.groovy | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index def7325..51b4d7e 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -12,9 +12,8 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { } @NonCPS -def getConfig() { - def yamlAsString = "a: 1\nb: 2\nc:\n - aaa\n - bbb" - return new Yaml().load(readFile(file: "deployment/config.yaml", encoding: "UTF-8")) +def getConfig(cfg) { + return new Yaml().load(cfg) } node() { @@ -37,7 +36,7 @@ node() { println readFile("deployment/config.yaml") println "teeeeeest start" - def config = getConfig() + def config = getConfig(a) println config.getClass() println config println "teeeeeest end" From c0c636f91d236e5f7149cf0a11b8dd963171f689 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:44:08 +0100 Subject: [PATCH 133/239] Buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 51b4d7e..307fe22 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -13,7 +13,7 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { @NonCPS def getConfig(cfg) { - return new Yaml().load(cfg) + return new Yaml().load(readFile(file: "deployment/config.yaml", encoding: "UTF-8")) } node() { From b3626ed2b3c7de656f89818b6555b448493db5bb Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:46:44 +0100 Subject: [PATCH 134/239] Buh --- deployment/pipeline.groovy | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 307fe22..2b0f5f9 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -12,8 +12,8 @@ def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { } @NonCPS -def getConfig(cfg) { - return new Yaml().load(readFile(file: "deployment/config.yaml", encoding: "UTF-8")) +def parseYaml(content) { + return new Yaml().load(content) } node() { @@ -22,24 +22,13 @@ node() { def buildManifest = "deployment/manifests/build.yaml" def appManifest = "deployment/manifests/app.yaml" + def config = null + stage("Build") { git "https://github.com/omallo/ruby-ex.git" - def a = readFile(file: "deployment/config.yaml", encoding: "UTF-8") - def b = "a: 1\nb: 2\nc:\n - aaa\n - bbb" - if (!a.equals(b)) { - println "huch" - } else { - println "yeah" - } - - println readFile("deployment/config.yaml") - - println "teeeeeest start" - def config = getConfig(a) - println config.getClass() + config = parseYaml(readFile("deployment/config.yaml")) println config - println "teeeeeest end" //sh "${ocCmd} process -f ${buildManifest} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" //sh "${ocCmd} start-build frontend -w -n rubex-dev" From 7b380d7a58e31774ca477ce984694f2805e53a1f Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:47:14 +0100 Subject: [PATCH 135/239] Buh --- deployment/config.yaml | 9 ++++----- deployment/pipeline.groovy | 1 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index 2620113..85868f2 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -1,5 +1,4 @@ -a: 1 -b: 2 -c: - - aaa - - bbb \ No newline at end of file +dev: + foo: bar +test: + foo2: bar2 diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 2b0f5f9..5d6fa00 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -29,6 +29,7 @@ node() { config = parseYaml(readFile("deployment/config.yaml")) println config + println config.dev //sh "${ocCmd} process -f ${buildManifest} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" //sh "${ocCmd} start-build frontend -w -n rubex-dev" From 9ca4cc123caf24008e35e4070fc2ce459430c07f Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:48:52 +0100 Subject: [PATCH 136/239] Buh --- deployment/pipeline.groovy | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 5d6fa00..cb035d6 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -22,20 +22,18 @@ node() { def buildManifest = "deployment/manifests/build.yaml" def appManifest = "deployment/manifests/app.yaml" - def config = null - - stage("Build") { + stage("Checkout") { git "https://github.com/omallo/ruby-ex.git" - - config = parseYaml(readFile("deployment/config.yaml")) - println config - println config.dev - - //sh "${ocCmd} process -f ${buildManifest} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" - //sh "${ocCmd} start-build frontend -w -n rubex-dev" } - /*stage("Deploy to DEV") { + def config = parseYaml(readFile("deployment/config.yaml")) + + stage("Build") { + sh "${ocCmd} process -f ${buildManifest} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" + sh "${ocCmd} start-build frontend -w -n rubex-dev" + } + + stage("Deploy to DEV") { def replicas = getReplicasOrDefault("frontend", "rubex-dev", 1) sh "${ocCmd} process -f ${appManifest} -v ENV=dev -v REPLICAS=${replicas} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} tag rubex-dev/frontend:latest rubex-dev/frontend:dev" @@ -56,5 +54,5 @@ node() { sh "${ocCmd} rollout latest dc/frontend -n rubex-test" sh "${ocCmd} rollout status dc/frontend -n rubex-test" } - }*/ + } } From a7c9d8f3a067a9bca1ba6cea865a50048701b0bc Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:49:36 +0100 Subject: [PATCH 137/239] Buh --- deployment/pipeline.groovy | 3 +++ 1 file changed, 3 insertions(+) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index cb035d6..5025a08 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -27,6 +27,9 @@ node() { } def config = parseYaml(readFile("deployment/config.yaml")) + println config + println config.dev + println config.test stage("Build") { sh "${ocCmd} process -f ${buildManifest} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" From 3abdeb66e24f73e27acd7777c9912be97107d91a Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:50:15 +0100 Subject: [PATCH 138/239] Buh --- deployment/pipeline.groovy | 3 --- 1 file changed, 3 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 5025a08..cb035d6 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -27,9 +27,6 @@ node() { } def config = parseYaml(readFile("deployment/config.yaml")) - println config - println config.dev - println config.test stage("Build") { sh "${ocCmd} process -f ${buildManifest} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" From 914354169eb3969ca046d3ba7bf42f76662af895 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 9 Dec 2016 16:57:26 +0100 Subject: [PATCH 139/239] Buh --- deployment/config.yaml | 6 ++++-- deployment/pipeline.groovy | 5 ++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index 85868f2..369549f 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -1,4 +1,6 @@ dev: - foo: bar + params: + REPLICAS: 1 test: - foo2: bar2 + params: + REPLICAS: 2 diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index cb035d6..e04c4b9 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,5 +1,4 @@ import org.yaml.snakeyaml.Yaml -import org.yaml.snakeyaml.constructor.Constructor def getOcCmd() { return "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" @@ -34,7 +33,7 @@ node() { } stage("Deploy to DEV") { - def replicas = getReplicasOrDefault("frontend", "rubex-dev", 1) + def replicas = getReplicasOrDefault("frontend", "rubex-dev", config.dev.params.REPLICAS) sh "${ocCmd} process -f ${appManifest} -v ENV=dev -v REPLICAS=${replicas} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" sh "${ocCmd} tag rubex-dev/frontend:latest rubex-dev/frontend:dev" sh "${ocCmd} rollout latest dc/frontend -n rubex-dev" @@ -48,7 +47,7 @@ node() { if (isPromoteToTest) { stage("Deploy to TEST") { - def replicas = getReplicasOrDefault("frontend", "rubex-test", 2) + def replicas = getReplicasOrDefault("frontend", "rubex-test", config.test.params.REPLICAS) sh "${ocCmd} process -f ${appManifest} -v ENV=test -v REPLICAS=${replicas} -n rubex-test | ${ocCmd} apply -f - -n rubex-test" sh "${ocCmd} tag rubex-dev/frontend:dev rubex-dev/frontend:test" sh "${ocCmd} rollout latest dc/frontend -n rubex-test" From ec68bfe46f0b665a02daaa8023cfde1a431a6992 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 17:35:06 +0100 Subject: [PATCH 140/239] Enhanced the config to drive the whole deployment --- deployment/config.yaml | 25 ++++++++++--- deployment/pipeline.groovy | 74 ++++++++++++++++++++++++++++---------- 2 files changed, 77 insertions(+), 22 deletions(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index 369549f..ec9fc9d 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -1,6 +1,23 @@ dev: - params: - REPLICAS: 1 + build: + frontend: + templates: + - manifest: manifests/build.yaml + deployment: + frontend: + delete: + - type: pvc + name: frontend + templates: + - manifest: manifests/app.yaml + parameters: + ENV: test + REPLICAS: 1 test: - params: - REPLICAS: 2 + deployment: + frontend: + templates: + - manifest: manifests/app.yaml + parameters: + ENV: test + REPLICAS: 2 diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index e04c4b9..47d1afc 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -4,10 +4,9 @@ def getOcCmd() { return "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" } -def getReplicasOrDefault(deploymentConfig, project, defaultReplicas) { +def getReplicas(namespace, name) { def ocCmd = getOcCmd() - def replicas = sh(script: "${ocCmd} get dc ${deploymentConfig} --template='{{ .spec.replicas }}' -n ${project} || true", returnStdout: true).trim() - return replicas ?: defaultReplicas + return sh(script: "${ocCmd} get dc ${name} --template='{{ .spec.replicas }}' -n ${namespace} || true", returnStdout: true).trim() } @NonCPS @@ -15,12 +14,58 @@ def parseYaml(content) { return new Yaml().load(content) } -node() { +def ocTemplateParametersAsCommandLineOpt(parameters) { + return parameters.collect { v -> "-v ${v}" }.join(" ")​​​​ +} + +def ocApplyTemplate(namespace, config) { + ocApplyTemplate(namespace, config.manifest, config.parameters) +} + +def ocApplyTemplate(namespace, manifest, parameters) { + def ocCmd = getOcCmd() + def parametersOpt = ocTemplateParametersAsCommandLineOpt(parameters) + sh "${ocCmd} process -f ${manifest} ${parametersOpt} -n ${namespace} | ${ocCmd} apply -f - -n ${namespace}" +} + +def ocDelete(namespace, target) { + def ocCmd = getOcCmd() + sh "${ocCmd} delete ${target.type}/${target.name} -n ${namespace}" +} + +def ocBuild(namespace, name, config) { def ocCmd = getOcCmd() - def buildManifest = "deployment/manifests/build.yaml" - def appManifest = "deployment/manifests/app.yaml" + config.delete.each { target -> ocDelete(namespace, target) } + config.templates.each { template -> ocApplyTemplate(namespace, template) } + + sh "${ocCmd} start-build ${name} -w -n ${namespace}" +} + +def ocTag(isNamespace, isName, sourceTag, targetTag) { + sh "${ocCmd} tag ${isNamespace}/${isName}:${sourceTag} ${isNamespace}/${isName}:${targetTag}" +} + +def ocDeploy(namespace, name, config) { + def replicas = getReplicas(namespace, name) + + config.delete.each { target -> ocDelete(namespace, target) } + + config.templates.each { template -> + def manifest = template.manifest + def parameters = template.parameters.clone() + if (replicas) { + parameters["REPLICAS"] = replicas + } + ocApplyTemplate(namespace, manifest, parameters) + } + + sh "${ocCmd} rollout latest dc/${name} -n ${namespace}" + sh "${ocCmd} rollout status dc/${name} -n ${namespace}" +} + +node() { stage("Checkout") { git "https://github.com/omallo/ruby-ex.git" } @@ -28,16 +73,12 @@ node() { def config = parseYaml(readFile("deployment/config.yaml")) stage("Build") { - sh "${ocCmd} process -f ${buildManifest} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" - sh "${ocCmd} start-build frontend -w -n rubex-dev" + ocBuild(namespace: "rubex-dev", name: "frontend", config: config.dev.build.frontend) } stage("Deploy to DEV") { - def replicas = getReplicasOrDefault("frontend", "rubex-dev", config.dev.params.REPLICAS) - sh "${ocCmd} process -f ${appManifest} -v ENV=dev -v REPLICAS=${replicas} -n rubex-dev | ${ocCmd} apply -f - -n rubex-dev" - sh "${ocCmd} tag rubex-dev/frontend:latest rubex-dev/frontend:dev" - sh "${ocCmd} rollout latest dc/frontend -n rubex-dev" - sh "${ocCmd} rollout status dc/frontend -n rubex-dev" + ocTag(isNamespace: "rubex-dev", isName: "frontend", sourceTag: "latest", targetTag: "dev") + ocDeploy(namespace: "rubex-dev", name: "frontend", config: config.dev.deployment.frontend) } def isPromoteToTest = false @@ -47,11 +88,8 @@ node() { if (isPromoteToTest) { stage("Deploy to TEST") { - def replicas = getReplicasOrDefault("frontend", "rubex-test", config.test.params.REPLICAS) - sh "${ocCmd} process -f ${appManifest} -v ENV=test -v REPLICAS=${replicas} -n rubex-test | ${ocCmd} apply -f - -n rubex-test" - sh "${ocCmd} tag rubex-dev/frontend:dev rubex-dev/frontend:test" - sh "${ocCmd} rollout latest dc/frontend -n rubex-test" - sh "${ocCmd} rollout status dc/frontend -n rubex-test" + ocTag(isNamespace: "rubex-dev", isName: "frontend", sourceTag: "dev", targetTag: "test") + ocDeploy(namespace: "rubex-test", name: "frontend", config: config.test.deployment.frontend) } } } From 902173a220bf69c6083e813be663ed3fee9b9f86 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 17:38:21 +0100 Subject: [PATCH 141/239] Some cleanup --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 47d1afc..cf68659 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -15,7 +15,7 @@ def parseYaml(content) { } def ocTemplateParametersAsCommandLineOpt(parameters) { - return parameters.collect { v -> "-v ${v}" }.join(" ")​​​​ + return parameters.collect { parameter -> "-v ${parameter}" }.join(" ")​​​​ } def ocApplyTemplate(namespace, config) { From 1977a7cc8851ca89603a68f4218b711026a1a826 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 17:52:14 +0100 Subject: [PATCH 142/239] buh --- deployment/pipeline.groovy | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index cf68659..040e3d3 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -15,7 +15,8 @@ def parseYaml(content) { } def ocTemplateParametersAsCommandLineOpt(parameters) { - return parameters.collect { parameter -> "-v ${parameter}" }.join(" ")​​​​ + //return parameters.collect { parameter -> "-v ${parameter}" }.join(" ")​​​​ + return "" } def ocApplyTemplate(namespace, config) { From 06652dad5b28ce39ea6bce19b9d5379c83033ea5 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 17:58:32 +0100 Subject: [PATCH 143/239] buh --- deployment/pipeline.groovy | 1 + 1 file changed, 1 insertion(+) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 040e3d3..e73427c 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -74,6 +74,7 @@ node() { def config = parseYaml(readFile("deployment/config.yaml")) stage("Build") { + parseYaml(readFile("deployment/config.yaml")) ocBuild(namespace: "rubex-dev", name: "frontend", config: config.dev.build.frontend) } From b15e10f9d048fc1ce115fa2fd930a2ebf55e2260 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 17:59:14 +0100 Subject: [PATCH 144/239] buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index e73427c..c831794 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -74,7 +74,7 @@ node() { def config = parseYaml(readFile("deployment/config.yaml")) stage("Build") { - parseYaml(readFile("deployment/config.yaml")) + getOcCmd() ocBuild(namespace: "rubex-dev", name: "frontend", config: config.dev.build.frontend) } From 58d092948c005ee0333ddbb5c05961bc46b3401e Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:01:04 +0100 Subject: [PATCH 145/239] buh --- deployment/pipeline.groovy | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index c831794..fba5f79 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -74,8 +74,7 @@ node() { def config = parseYaml(readFile("deployment/config.yaml")) stage("Build") { - getOcCmd() - ocBuild(namespace: "rubex-dev", name: "frontend", config: config.dev.build.frontend) + ocBuild("rubex-dev", "frontend", config.dev.build.frontend) } stage("Deploy to DEV") { From d6eef2e2077b0edcda300607d205e4dd98cfc42c Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:02:48 +0100 Subject: [PATCH 146/239] buh --- deployment/pipeline.groovy | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index fba5f79..a54d740 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -78,8 +78,8 @@ node() { } stage("Deploy to DEV") { - ocTag(isNamespace: "rubex-dev", isName: "frontend", sourceTag: "latest", targetTag: "dev") - ocDeploy(namespace: "rubex-dev", name: "frontend", config: config.dev.deployment.frontend) + ocTag("rubex-dev", "frontend", "latest", "dev") + ocDeploy("rubex-dev", "frontend", config.dev.deployment.frontend) } def isPromoteToTest = false @@ -89,8 +89,8 @@ node() { if (isPromoteToTest) { stage("Deploy to TEST") { - ocTag(isNamespace: "rubex-dev", isName: "frontend", sourceTag: "dev", targetTag: "test") - ocDeploy(namespace: "rubex-test", name: "frontend", config: config.test.deployment.frontend) + ocTag("rubex-dev", "frontend", "dev", "test") + ocDeploy("rubex-test", "frontend", config.test.deployment.frontend) } } } From e3cf1c4a50bef287a1a9df4ca50587ab9b77f11f Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:03:49 +0100 Subject: [PATCH 147/239] buh --- deployment/pipeline.groovy | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index a54d740..57e941a 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,9 +1,11 @@ import org.yaml.snakeyaml.Yaml +@NonCPS def getOcCmd() { return "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" } +@NonCPS def getReplicas(namespace, name) { def ocCmd = getOcCmd() return sh(script: "${ocCmd} get dc ${name} --template='{{ .spec.replicas }}' -n ${namespace} || true", returnStdout: true).trim() @@ -14,26 +16,30 @@ def parseYaml(content) { return new Yaml().load(content) } +@NonCPS def ocTemplateParametersAsCommandLineOpt(parameters) { - //return parameters.collect { parameter -> "-v ${parameter}" }.join(" ")​​​​ - return "" + return parameters.collect { parameter -> "-v ${parameter}" }.join(" ")​​​​ } +@NonCPS def ocApplyTemplate(namespace, config) { ocApplyTemplate(namespace, config.manifest, config.parameters) } +@NonCPS def ocApplyTemplate(namespace, manifest, parameters) { def ocCmd = getOcCmd() def parametersOpt = ocTemplateParametersAsCommandLineOpt(parameters) sh "${ocCmd} process -f ${manifest} ${parametersOpt} -n ${namespace} | ${ocCmd} apply -f - -n ${namespace}" } +@NonCPS def ocDelete(namespace, target) { def ocCmd = getOcCmd() sh "${ocCmd} delete ${target.type}/${target.name} -n ${namespace}" } +@NonCPS def ocBuild(namespace, name, config) { def ocCmd = getOcCmd() @@ -44,10 +50,12 @@ def ocBuild(namespace, name, config) { sh "${ocCmd} start-build ${name} -w -n ${namespace}" } +@NonCPS def ocTag(isNamespace, isName, sourceTag, targetTag) { sh "${ocCmd} tag ${isNamespace}/${isName}:${sourceTag} ${isNamespace}/${isName}:${targetTag}" } +@NonCPS def ocDeploy(namespace, name, config) { def replicas = getReplicas(namespace, name) From 44ee82fd24eaf3669c44eac27b6910b9e08b394f Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:06:03 +0100 Subject: [PATCH 148/239] buh --- deployment/pipeline.groovy | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 57e941a..1a34557 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -18,7 +18,9 @@ def parseYaml(content) { @NonCPS def ocTemplateParametersAsCommandLineOpt(parameters) { - return parameters.collect { parameter -> "-v ${parameter}" }.join(" ")​​​​ + def parameterOpts = [] + parameters.each { parameter -> parameterOpts << "-v ${parameter}" } + return parameterOpts.join(" ")​​​​ } @NonCPS From c281d65f51dcc124319a540dcf06f21e8cd7870c Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:07:16 +0100 Subject: [PATCH 149/239] buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 1a34557..3433a02 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -20,7 +20,7 @@ def parseYaml(content) { def ocTemplateParametersAsCommandLineOpt(parameters) { def parameterOpts = [] parameters.each { parameter -> parameterOpts << "-v ${parameter}" } - return parameterOpts.join(" ")​​​​ + return parameterOpts } @NonCPS From bde5f2f19432082c208856e93fc32740435b11d7 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:09:06 +0100 Subject: [PATCH 150/239] buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 3433a02..1a34557 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -20,7 +20,7 @@ def parseYaml(content) { def ocTemplateParametersAsCommandLineOpt(parameters) { def parameterOpts = [] parameters.each { parameter -> parameterOpts << "-v ${parameter}" } - return parameterOpts + return parameterOpts.join(" ")​​​​ } @NonCPS From 5fe837bb6ccc8bde2fd4fc38f7aa1451617a5839 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:09:49 +0100 Subject: [PATCH 151/239] buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 1a34557..5538614 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -20,7 +20,7 @@ def parseYaml(content) { def ocTemplateParametersAsCommandLineOpt(parameters) { def parameterOpts = [] parameters.each { parameter -> parameterOpts << "-v ${parameter}" } - return parameterOpts.join(" ")​​​​ + return parameterOpts.join(" ")​​​​; } @NonCPS From 2d164a96086719714ce7af2f027ade2ba5efec11 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:10:44 +0100 Subject: [PATCH 152/239] buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 5538614..816a067 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -20,7 +20,7 @@ def parseYaml(content) { def ocTemplateParametersAsCommandLineOpt(parameters) { def parameterOpts = [] parameters.each { parameter -> parameterOpts << "-v ${parameter}" } - return parameterOpts.join(" ")​​​​; + return parameterOpts.join(" ") } @NonCPS From 3c38cefe15ca0714ae32386e13d5179d7ccbb32e Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:11:58 +0100 Subject: [PATCH 153/239] buh --- deployment/pipeline.groovy | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 816a067..d2046da 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -18,9 +18,7 @@ def parseYaml(content) { @NonCPS def ocTemplateParametersAsCommandLineOpt(parameters) { - def parameterOpts = [] - parameters.each { parameter -> parameterOpts << "-v ${parameter}" } - return parameterOpts.join(" ") + parameters.collect { parameter -> "-v ${parameter}" }.join(" ") } @NonCPS From 5c8ce9e3f5e83c2bbdc355d49e5d82846fd8941b Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:12:50 +0100 Subject: [PATCH 154/239] buh --- deployment/config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index ec9fc9d..a108f59 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -2,7 +2,7 @@ dev: build: frontend: templates: - - manifest: manifests/build.yaml + - manifest: deployment/manifests/build.yaml deployment: frontend: delete: @@ -17,7 +17,7 @@ test: deployment: frontend: templates: - - manifest: manifests/app.yaml + - manifest: deployment/manifests/app.yaml parameters: ENV: test REPLICAS: 2 From 242eda5f3e8535a42bf2eff45a1eb8e83086b32e Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:20:44 +0100 Subject: [PATCH 155/239] buh --- deployment/pipeline.groovy | 9 --------- 1 file changed, 9 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index d2046da..5041583 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,11 +1,9 @@ import org.yaml.snakeyaml.Yaml -@NonCPS def getOcCmd() { return "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" } -@NonCPS def getReplicas(namespace, name) { def ocCmd = getOcCmd() return sh(script: "${ocCmd} get dc ${name} --template='{{ .spec.replicas }}' -n ${namespace} || true", returnStdout: true).trim() @@ -16,30 +14,25 @@ def parseYaml(content) { return new Yaml().load(content) } -@NonCPS def ocTemplateParametersAsCommandLineOpt(parameters) { parameters.collect { parameter -> "-v ${parameter}" }.join(" ") } -@NonCPS def ocApplyTemplate(namespace, config) { ocApplyTemplate(namespace, config.manifest, config.parameters) } -@NonCPS def ocApplyTemplate(namespace, manifest, parameters) { def ocCmd = getOcCmd() def parametersOpt = ocTemplateParametersAsCommandLineOpt(parameters) sh "${ocCmd} process -f ${manifest} ${parametersOpt} -n ${namespace} | ${ocCmd} apply -f - -n ${namespace}" } -@NonCPS def ocDelete(namespace, target) { def ocCmd = getOcCmd() sh "${ocCmd} delete ${target.type}/${target.name} -n ${namespace}" } -@NonCPS def ocBuild(namespace, name, config) { def ocCmd = getOcCmd() @@ -50,12 +43,10 @@ def ocBuild(namespace, name, config) { sh "${ocCmd} start-build ${name} -w -n ${namespace}" } -@NonCPS def ocTag(isNamespace, isName, sourceTag, targetTag) { sh "${ocCmd} tag ${isNamespace}/${isName}:${sourceTag} ${isNamespace}/${isName}:${targetTag}" } -@NonCPS def ocDeploy(namespace, name, config) { def replicas = getReplicas(namespace, name) From 52fabd4bb0c17012f229c626da40a8558de042cb Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:23:59 +0100 Subject: [PATCH 156/239] buh --- deployment/pipeline.groovy | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 5041583..1518758 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -36,9 +36,13 @@ def ocDelete(namespace, target) { def ocBuild(namespace, name, config) { def ocCmd = getOcCmd() - config.delete.each { target -> ocDelete(namespace, target) } + for (def target : config.delete) { + ocDelete(namespace, target) + } - config.templates.each { template -> ocApplyTemplate(namespace, template) } + for (def template : config.templates) { + ocApplyTemplate(namespace, template) + } sh "${ocCmd} start-build ${name} -w -n ${namespace}" } From fcc5304ce6be423c2f7d1be0df4e27a14fcb3a2d Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:25:44 +0100 Subject: [PATCH 157/239] buh --- deployment/pipeline.groovy | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 1518758..fff3310 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -14,6 +14,7 @@ def parseYaml(content) { return new Yaml().load(content) } +@NonCPS def ocTemplateParametersAsCommandLineOpt(parameters) { parameters.collect { parameter -> "-v ${parameter}" }.join(" ") } @@ -54,9 +55,11 @@ def ocTag(isNamespace, isName, sourceTag, targetTag) { def ocDeploy(namespace, name, config) { def replicas = getReplicas(namespace, name) - config.delete.each { target -> ocDelete(namespace, target) } + for (def target : config.delete) { + ocDelete(namespace, target) + } - config.templates.each { template -> + for (def template : config.templates) { def manifest = template.manifest def parameters = template.parameters.clone() if (replicas) { From 1a99f7c9bde05510ae0693dbbe088cfa02259984 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:26:49 +0100 Subject: [PATCH 158/239] buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index fff3310..c38f56d 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -31,7 +31,7 @@ def ocApplyTemplate(namespace, manifest, parameters) { def ocDelete(namespace, target) { def ocCmd = getOcCmd() - sh "${ocCmd} delete ${target.type}/${target.name} -n ${namespace}" + sh "${ocCmd} delete ${target.type}/${target.name} -n ${namespace} || true" } def ocBuild(namespace, name, config) { From d25b4086ccf0f7f5f5dc9ace33927052febaa1be Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:27:39 +0100 Subject: [PATCH 159/239] buh --- deployment/config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index a108f59..2bc093a 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -9,7 +9,7 @@ dev: - type: pvc name: frontend templates: - - manifest: manifests/app.yaml + - manifest: deployment/manifests/app.yaml parameters: ENV: test REPLICAS: 1 From 0e9a613925c104630f470fda8a12c6234c750be5 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:29:22 +0100 Subject: [PATCH 160/239] buh --- deployment/config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index 2bc093a..23f584f 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -7,7 +7,7 @@ dev: frontend: delete: - type: pvc - name: frontend + name: frontend-data templates: - manifest: deployment/manifests/app.yaml parameters: From 95324b9f5b50b3ffee6f2fbdf5ce311d9d7d6056 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:32:06 +0100 Subject: [PATCH 161/239] buh --- deployment/manifests/app.yaml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/deployment/manifests/app.yaml b/deployment/manifests/app.yaml index 98b9f24..7aeadff 100644 --- a/deployment/manifests/app.yaml +++ b/deployment/manifests/app.yaml @@ -1,18 +1,18 @@ apiVersion: v1 kind: Template objects: -- apiVersion: v1 - kind: PersistentVolumeClaim - metadata: - name: ${APP}-data - labels: - app: ${APP} - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: ${STORAGE_SIZE} +#- apiVersion: v1 +# kind: PersistentVolumeClaim +# metadata: +# name: ${APP}-data +# labels: +# app: ${APP} +# spec: +# accessModes: +# - ReadWriteOnce +# resources: +# requests: +# storage: ${STORAGE_SIZE} - apiVersion: v1 kind: DeploymentConfig metadata: From 9d74dc64e1ae43b236601a85b86f03da014716c6 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 15 Dec 2016 18:34:12 +0100 Subject: [PATCH 162/239] buh --- deployment/config.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/deployment/config.yaml b/deployment/config.yaml index 23f584f..a71d956 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -16,6 +16,9 @@ dev: test: deployment: frontend: + delete: + - type: pvc + name: frontend-data templates: - manifest: deployment/manifests/app.yaml parameters: From eb7fedf90f535515a3bb0078793228d137e6c77c Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 16 Dec 2016 10:21:35 +0100 Subject: [PATCH 163/239] buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index c38f56d..d82ed71 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -80,7 +80,7 @@ node() { def config = parseYaml(readFile("deployment/config.yaml")) stage("Build") { - ocBuild("rubex-dev", "frontend", config.dev.build.frontend) + ocBuild namespace: "rubex-dev", name: "frontend", config: config.dev.build.frontend } stage("Deploy to DEV") { From 808f6d5e06b2b853a62944e6f0a068f04074b4bf Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 16 Dec 2016 10:22:40 +0100 Subject: [PATCH 164/239] buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index d82ed71..c38f56d 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -80,7 +80,7 @@ node() { def config = parseYaml(readFile("deployment/config.yaml")) stage("Build") { - ocBuild namespace: "rubex-dev", name: "frontend", config: config.dev.build.frontend + ocBuild("rubex-dev", "frontend", config.dev.build.frontend) } stage("Deploy to DEV") { From 3a0e55cae0bc7e4d02e20c129c807a3bf77e236d Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 16 Dec 2016 10:23:37 +0100 Subject: [PATCH 165/239] Bump the version to 21 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 69a6672..f18a239 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 20)

+

Welcome to your Ruby application on OpenShift (version 21)

From 7f0df251ba38393ea9bc8156c5aee11773d16628 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 16 Dec 2016 10:34:34 +0100 Subject: [PATCH 166/239] Fixed config --- deployment/config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index a71d956..a1f6306 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -11,7 +11,7 @@ dev: templates: - manifest: deployment/manifests/app.yaml parameters: - ENV: test + ENV: dev REPLICAS: 1 test: deployment: From a2fc5660774fb9f1ee20665ffa461ad933de9fe4 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 16 Dec 2016 10:39:06 +0100 Subject: [PATCH 167/239] Removed the objects to delete --- deployment/config.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index a1f6306..328bc29 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -5,9 +5,6 @@ dev: - manifest: deployment/manifests/build.yaml deployment: frontend: - delete: - - type: pvc - name: frontend-data templates: - manifest: deployment/manifests/app.yaml parameters: @@ -16,9 +13,6 @@ dev: test: deployment: frontend: - delete: - - type: pvc - name: frontend-data templates: - manifest: deployment/manifests/app.yaml parameters: From ce4ca1300d17bc0287ea904222698ce8881c826b Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 16 Dec 2016 11:34:37 +0100 Subject: [PATCH 168/239] Use the ocutil shared library --- deployment/pipeline.groovy | 74 +------------------------------------- 1 file changed, 1 insertion(+), 73 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index c38f56d..a9c2a89 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,76 +1,4 @@ -import org.yaml.snakeyaml.Yaml - -def getOcCmd() { - return "oc --token=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` --server=https://openshift.default.svc.cluster.local --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt" -} - -def getReplicas(namespace, name) { - def ocCmd = getOcCmd() - return sh(script: "${ocCmd} get dc ${name} --template='{{ .spec.replicas }}' -n ${namespace} || true", returnStdout: true).trim() -} - -@NonCPS -def parseYaml(content) { - return new Yaml().load(content) -} - -@NonCPS -def ocTemplateParametersAsCommandLineOpt(parameters) { - parameters.collect { parameter -> "-v ${parameter}" }.join(" ") -} - -def ocApplyTemplate(namespace, config) { - ocApplyTemplate(namespace, config.manifest, config.parameters) -} - -def ocApplyTemplate(namespace, manifest, parameters) { - def ocCmd = getOcCmd() - def parametersOpt = ocTemplateParametersAsCommandLineOpt(parameters) - sh "${ocCmd} process -f ${manifest} ${parametersOpt} -n ${namespace} | ${ocCmd} apply -f - -n ${namespace}" -} - -def ocDelete(namespace, target) { - def ocCmd = getOcCmd() - sh "${ocCmd} delete ${target.type}/${target.name} -n ${namespace} || true" -} - -def ocBuild(namespace, name, config) { - def ocCmd = getOcCmd() - - for (def target : config.delete) { - ocDelete(namespace, target) - } - - for (def template : config.templates) { - ocApplyTemplate(namespace, template) - } - - sh "${ocCmd} start-build ${name} -w -n ${namespace}" -} - -def ocTag(isNamespace, isName, sourceTag, targetTag) { - sh "${ocCmd} tag ${isNamespace}/${isName}:${sourceTag} ${isNamespace}/${isName}:${targetTag}" -} - -def ocDeploy(namespace, name, config) { - def replicas = getReplicas(namespace, name) - - for (def target : config.delete) { - ocDelete(namespace, target) - } - - for (def template : config.templates) { - def manifest = template.manifest - def parameters = template.parameters.clone() - if (replicas) { - parameters["REPLICAS"] = replicas - } - ocApplyTemplate(namespace, manifest, parameters) - } - - sh "${ocCmd} rollout latest dc/${name} -n ${namespace}" - sh "${ocCmd} rollout status dc/${name} -n ${namespace}" -} +@Library('ocutil') _ node() { stage("Checkout") { From 324e9929f76e6bc75f55ad70836b55a5a0515ddd Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 16 Dec 2016 11:39:52 +0100 Subject: [PATCH 169/239] buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index a9c2a89..b982ab9 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -5,7 +5,7 @@ node() { git "https://github.com/omallo/ruby-ex.git" } - def config = parseYaml(readFile("deployment/config.yaml")) + def config = ocutil.parseYaml(readFile("deployment/config.yaml")) stage("Build") { ocBuild("rubex-dev", "frontend", config.dev.build.frontend) From 66a942b4aadb4f9805c9dc53b8e4dbeb2f60b5b7 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 16 Dec 2016 11:40:33 +0100 Subject: [PATCH 170/239] buh --- deployment/pipeline.groovy | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index b982ab9..75993fa 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -8,12 +8,12 @@ node() { def config = ocutil.parseYaml(readFile("deployment/config.yaml")) stage("Build") { - ocBuild("rubex-dev", "frontend", config.dev.build.frontend) + ocutil.ocBuild("rubex-dev", "frontend", config.dev.build.frontend) } stage("Deploy to DEV") { - ocTag("rubex-dev", "frontend", "latest", "dev") - ocDeploy("rubex-dev", "frontend", config.dev.deployment.frontend) + ocutil.ocTag("rubex-dev", "frontend", "latest", "dev") + ocutil.ocDeploy("rubex-dev", "frontend", config.dev.deployment.frontend) } def isPromoteToTest = false @@ -23,8 +23,8 @@ node() { if (isPromoteToTest) { stage("Deploy to TEST") { - ocTag("rubex-dev", "frontend", "dev", "test") - ocDeploy("rubex-test", "frontend", config.test.deployment.frontend) + ocutil.ocTag("rubex-dev", "frontend", "dev", "test") + ocutil.ocDeploy("rubex-test", "frontend", config.test.deployment.frontend) } } } From b644b2c956793c587628119fddcc21660683f43d Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 16 Dec 2016 11:42:14 +0100 Subject: [PATCH 171/239] buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 75993fa..4dfa0c3 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -5,7 +5,7 @@ node() { git "https://github.com/omallo/ruby-ex.git" } - def config = ocutil.parseYaml(readFile("deployment/config.yaml")) + def config = ocutil.parseConfig(readFile("deployment/config.yaml")) stage("Build") { ocutil.ocBuild("rubex-dev", "frontend", config.dev.build.frontend) From 1d9f6376b1ebfcec6e8e231814caa3c595b9d76e Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 16 Dec 2016 11:48:33 +0100 Subject: [PATCH 172/239] buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 4dfa0c3..309dfd3 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -8,7 +8,7 @@ node() { def config = ocutil.parseConfig(readFile("deployment/config.yaml")) stage("Build") { - ocutil.ocBuild("rubex-dev", "frontend", config.dev.build.frontend) + ocutil.ocBuild namespace: "rubex-dev", name: "frontend", config: config.dev.build.frontend } stage("Deploy to DEV") { From edeb0cac21195693307cee23fec95ee1e4332939 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 16 Dec 2016 11:49:10 +0100 Subject: [PATCH 173/239] buh --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 309dfd3..4dfa0c3 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -8,7 +8,7 @@ node() { def config = ocutil.parseConfig(readFile("deployment/config.yaml")) stage("Build") { - ocutil.ocBuild namespace: "rubex-dev", name: "frontend", config: config.dev.build.frontend + ocutil.ocBuild("rubex-dev", "frontend", config.dev.build.frontend) } stage("Deploy to DEV") { From 4a78025e0ef14b3bb7098ef32add2417a4cfcba0 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 16 Dec 2016 13:35:41 +0100 Subject: [PATCH 174/239] Parameterize the port --- deployment/manifests/app.yaml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/deployment/manifests/app.yaml b/deployment/manifests/app.yaml index 7aeadff..e1d1567 100644 --- a/deployment/manifests/app.yaml +++ b/deployment/manifests/app.yaml @@ -35,7 +35,7 @@ objects: imagePullPolicy: Always name: ${APP} ports: - - containerPort: 8080 + - containerPort: ${HTTP_PORT} protocol: TCP triggers: - type: ImageChange @@ -55,10 +55,10 @@ objects: app: ${APP} spec: ports: - - name: 8080-tcp - port: 8080 + - name: http + port: ${HTTP_PORT} protocol: TCP - targetPort: 8080 + targetPort: ${HTTP_PORT} selector: app: ${APP} deploymentconfig: ${APP} @@ -70,7 +70,7 @@ objects: app: ${APP} spec: port: - targetPort: 8080-tcp + targetPort: http to: kind: Service name: ${APP} @@ -94,6 +94,10 @@ parameters: displayName: Replicas name: REPLICAS value: "1" +- description: The HTTP port. + displayName: HTTP port + name: HTTP_PORT + value: 8080 - description: The size of the storage to reclaim. displayName: Storage size name: STORAGE_SIZE From 3c12ad5b3e8fb4781dd759b003d4a3eb59eb1519 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 16 Dec 2016 13:37:09 +0100 Subject: [PATCH 175/239] buh --- deployment/manifests/app.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/manifests/app.yaml b/deployment/manifests/app.yaml index e1d1567..f73693d 100644 --- a/deployment/manifests/app.yaml +++ b/deployment/manifests/app.yaml @@ -97,7 +97,7 @@ parameters: - description: The HTTP port. displayName: HTTP port name: HTTP_PORT - value: 8080 + value: "8080" - description: The size of the storage to reclaim. displayName: Storage size name: STORAGE_SIZE From 5ff16f8fcbbe8dc601397e42d8444c84c2dea236 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Fri, 16 Dec 2016 13:40:18 +0100 Subject: [PATCH 176/239] buh --- deployment/manifests/app.yaml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/deployment/manifests/app.yaml b/deployment/manifests/app.yaml index f73693d..7aeadff 100644 --- a/deployment/manifests/app.yaml +++ b/deployment/manifests/app.yaml @@ -35,7 +35,7 @@ objects: imagePullPolicy: Always name: ${APP} ports: - - containerPort: ${HTTP_PORT} + - containerPort: 8080 protocol: TCP triggers: - type: ImageChange @@ -55,10 +55,10 @@ objects: app: ${APP} spec: ports: - - name: http - port: ${HTTP_PORT} + - name: 8080-tcp + port: 8080 protocol: TCP - targetPort: ${HTTP_PORT} + targetPort: 8080 selector: app: ${APP} deploymentconfig: ${APP} @@ -70,7 +70,7 @@ objects: app: ${APP} spec: port: - targetPort: http + targetPort: 8080-tcp to: kind: Service name: ${APP} @@ -94,10 +94,6 @@ parameters: displayName: Replicas name: REPLICAS value: "1" -- description: The HTTP port. - displayName: HTTP port - name: HTTP_PORT - value: "8080" - description: The size of the storage to reclaim. displayName: Storage size name: STORAGE_SIZE From d99ecc6df50c74ad1411e20875bfd3fee0bad115 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 29 Dec 2016 02:15:46 +0100 Subject: [PATCH 177/239] buh --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index f18a239..0629f8a 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 21)

+

Welcome to your Ruby application on OpenShift (version 22)

From 84a77ec6df19dd0bd86c60669bfab1a7e635b793 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Thu, 29 Dec 2016 12:07:21 +0100 Subject: [PATCH 178/239] Create a custom image stream for Jenkins --- infra/setup.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/infra/setup.sh b/infra/setup.sh index 7e61890..05d718b 100644 --- a/infra/setup.sh +++ b/infra/setup.sh @@ -38,5 +38,9 @@ oc new-project cicd oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-dev oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-test -oc new-app --name=jenkins omallo/oc-jenkins -oc expose svc ci --hostname ci.oc.habitz-app.com +oc project openshift +oc create is oc-jenkins +oc tag --source=docker --scheduled=true omallo/oc-jenkins:latest openshift/oc-jenkins:latest + +#oc new-app --name=jenkins omallo/oc-jenkins +#oc expose svc ci --hostname ci.oc.habitz-app.com From d39c9c3443be1fa308cf7c97c94b54b82d6ed535 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Sat, 31 Dec 2016 02:22:17 +0100 Subject: [PATCH 179/239] integrate GitVersion --- GitVersion.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 GitVersion.yml diff --git a/GitVersion.yml b/GitVersion.yml new file mode 100644 index 0000000..9030854 --- /dev/null +++ b/GitVersion.yml @@ -0,0 +1,6 @@ +mode: ContinuousDeployment +branches: + master: + mode: ContinuousDeployment +ignore: + sha: [] From 331fd413b24765e53aab4cfccdad5a8232d225ff Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Sat, 31 Dec 2016 02:23:10 +0100 Subject: [PATCH 180/239] Bump to version 23 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 0629f8a..813350c 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 22)

+

Welcome to your Ruby application on OpenShift (version 23)

From b63c842579eaab85ffbfdbb339da8f4e65f787f5 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 02:02:54 +0100 Subject: [PATCH 181/239] buh --- infra/setup.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/infra/setup.sh b/infra/setup.sh index 05d718b..9855c8c 100644 --- a/infra/setup.sh +++ b/infra/setup.sh @@ -38,7 +38,9 @@ oc new-project cicd oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-dev oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-test +oc login -u system:admin oc project openshift +oc delete is oc-jenkins oc create is oc-jenkins oc tag --source=docker --scheduled=true omallo/oc-jenkins:latest openshift/oc-jenkins:latest From dc90b5a17f65983a97c71ec23374faaf7349e21c Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 02:44:27 +0100 Subject: [PATCH 182/239] buh --- GitVersion.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/GitVersion.yml b/GitVersion.yml index 9030854..2210324 100644 --- a/GitVersion.yml +++ b/GitVersion.yml @@ -1,6 +1 @@ mode: ContinuousDeployment -branches: - master: - mode: ContinuousDeployment -ignore: - sha: [] From 6ad0043365f92ec0b73be76af9236ff2e5f17970 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 03:03:14 +0100 Subject: [PATCH 183/239] Tag the image stream with a version --- deployment/pipeline.groovy | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 4dfa0c3..c9c588d 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -23,7 +23,9 @@ node() { if (isPromoteToTest) { stage("Deploy to TEST") { - ocutil.ocTag("rubex-dev", "frontend", "dev", "test") + def semver = sh(script: "mono /usr/local/GitVersion_3.6.5/GitVersion.exe /showvariable FullSemVer", returnStdout: true).trim() + ocutil.ocTag("rubex-dev", "frontend", "dev", semver) + ocutil.ocTag("rubex-dev", "frontend", semver, "test") ocutil.ocDeploy("rubex-test", "frontend", config.test.deployment.frontend) } } From 7da1c3c5c9612e7326365e0a0c7270d67b7412cd Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 03:32:59 +0100 Subject: [PATCH 184/239] Bump version to 24 +semver: minor --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 813350c..14ae199 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 23)

+

Welcome to your Ruby application on OpenShift (version 24)

From 69713cf80ce9b2b90028c47d5dc244efefb4a443 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 03:45:03 +0100 Subject: [PATCH 185/239] Create git tags --- deployment/pipeline.groovy | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index c9c588d..62087c5 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -5,6 +5,9 @@ node() { git "https://github.com/omallo/ruby-ex.git" } + def semver = sh(script: "mono /usr/local/GitVersion_3.6.5/GitVersion.exe /showvariable FullSemVer", returnStdout: true).trim() + echo "semver: ${semver}" + def config = ocutil.parseConfig(readFile("deployment/config.yaml")) stage("Build") { @@ -23,7 +26,9 @@ node() { if (isPromoteToTest) { stage("Deploy to TEST") { - def semver = sh(script: "mono /usr/local/GitVersion_3.6.5/GitVersion.exe /showvariable FullSemVer", returnStdout: true).trim() + sh "git tag ${semver}" + sh "git push --tags" + ocutil.ocTag("rubex-dev", "frontend", "dev", semver) ocutil.ocTag("rubex-dev", "frontend", semver, "test") ocutil.ocDeploy("rubex-test", "frontend", config.test.deployment.frontend) From 6277a0e9ce95f86d75884e158cb7a9f59fc8bc8d Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 04:00:35 +0100 Subject: [PATCH 186/239] Clean the workspace before checkout --- deployment/pipeline.groovy | 1 + 1 file changed, 1 insertion(+) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 62087c5..c6b1774 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -2,6 +2,7 @@ node() { stage("Checkout") { + deleteDir() git "https://github.com/omallo/ruby-ex.git" } From 715d66eccc32b3f92a066b053dbf07feb149469d Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 04:10:21 +0100 Subject: [PATCH 187/239] Use GitHub credentials --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index c6b1774..16aee04 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -3,7 +3,7 @@ node() { stage("Checkout") { deleteDir() - git "https://github.com/omallo/ruby-ex.git" + git(url: "https://github.com/omallo/ruby-ex.git", credentialsId: "github-omallo") } def semver = sh(script: "mono /usr/local/GitVersion_3.6.5/GitVersion.exe /showvariable FullSemVer", returnStdout: true).trim() From be42c876c16a7e4d0d939f931d6fbcf00e333711 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 04:25:00 +0100 Subject: [PATCH 188/239] Configure the master branch for GitVersion --- GitVersion.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/GitVersion.yml b/GitVersion.yml index 2210324..9030854 100644 --- a/GitVersion.yml +++ b/GitVersion.yml @@ -1 +1,6 @@ mode: ContinuousDeployment +branches: + master: + mode: ContinuousDeployment +ignore: + sha: [] From e245f379c2c33df502bf2392a4d4f42be4829315 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 04:27:35 +0100 Subject: [PATCH 189/239] Bump the version to 25 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 14ae199..b46f8a4 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 24)

+

Welcome to your Ruby application on OpenShift (version 25)

From ddc9e0a7938b23c2fe2e0e54a1edb7fa659d1bc5 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 04:32:39 +0100 Subject: [PATCH 190/239] Bump the version to 26 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index b46f8a4..99c795e 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 25)

+

Welcome to your Ruby application on OpenShift (version 26)

From 015d6f6642e8ebdcce964237222c28f9ace76f59 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 04:36:29 +0100 Subject: [PATCH 191/239] Use the correct tag version --- deployment/pipeline.groovy | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 16aee04..4026d5d 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -6,8 +6,9 @@ node() { git(url: "https://github.com/omallo/ruby-ex.git", credentialsId: "github-omallo") } - def semver = sh(script: "mono /usr/local/GitVersion_3.6.5/GitVersion.exe /showvariable FullSemVer", returnStdout: true).trim() - echo "semver: ${semver}" + def buildVersion = sh(script: "mono /usr/local/GitVersion_3.6.5/GitVersion.exe /showvariable FullSemVer", returnStdout: true).trim() + def tagVersion = sh(script: "mono /usr/local/GitVersion_3.6.5/GitVersion.exe /showvariable MajorMinorPatch", returnStdout: true).trim() + echo "versions: buildVersion=${buildVersion}, tagVersion=${tagVersion}" def config = ocutil.parseConfig(readFile("deployment/config.yaml")) @@ -27,11 +28,11 @@ node() { if (isPromoteToTest) { stage("Deploy to TEST") { - sh "git tag ${semver}" + sh "git tag ${releaseVersion}" sh "git push --tags" - ocutil.ocTag("rubex-dev", "frontend", "dev", semver) - ocutil.ocTag("rubex-dev", "frontend", semver, "test") + ocutil.ocTag("rubex-dev", "frontend", "dev", releaseVersion) + ocutil.ocTag("rubex-dev", "frontend", releaseVersion, "test") ocutil.ocDeploy("rubex-test", "frontend", config.test.deployment.frontend) } } From 26210c0d6907fb9f0b5f866e42fbac7a9d2c25c0 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 04:46:42 +0100 Subject: [PATCH 192/239] Some cleanup --- deployment/pipeline.groovy | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 4026d5d..33379ef 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -6,8 +6,9 @@ node() { git(url: "https://github.com/omallo/ruby-ex.git", credentialsId: "github-omallo") } - def buildVersion = sh(script: "mono /usr/local/GitVersion_3.6.5/GitVersion.exe /showvariable FullSemVer", returnStdout: true).trim() - def tagVersion = sh(script: "mono /usr/local/GitVersion_3.6.5/GitVersion.exe /showvariable MajorMinorPatch", returnStdout: true).trim() + def gitVersionCmd = "mono /usr/local/GitVersion_3.6.5/GitVersion.exe" + def buildVersion = sh(script: "${gitVersionCmd} /showvariable FullSemVer", returnStdout: true).trim() + def tagVersion = sh(script: "${gitVersionCmd} /showvariable MajorMinorPatch", returnStdout: true).trim() echo "versions: buildVersion=${buildVersion}, tagVersion=${tagVersion}" def config = ocutil.parseConfig(readFile("deployment/config.yaml")) From 56de4014c63fbdf23d84db15ac0f44503520af30 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 04:47:20 +0100 Subject: [PATCH 193/239] Use the correct tag version --- deployment/pipeline.groovy | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 33379ef..b34c0a5 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -29,11 +29,11 @@ node() { if (isPromoteToTest) { stage("Deploy to TEST") { - sh "git tag ${releaseVersion}" + sh "git tag ${tagVersion}" sh "git push --tags" - ocutil.ocTag("rubex-dev", "frontend", "dev", releaseVersion) - ocutil.ocTag("rubex-dev", "frontend", releaseVersion, "test") + ocutil.ocTag("rubex-dev", "frontend", "dev", tagVersion) + ocutil.ocTag("rubex-dev", "frontend", tagVersion, "test") ocutil.ocDeploy("rubex-test", "frontend", config.test.deployment.frontend) } } From bb846657503bfd4e3729d7ca7050e446b5259ba2 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 05:07:48 +0100 Subject: [PATCH 194/239] Bind the GitHub credentials for pushing --- deployment/pipeline.groovy | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index b34c0a5..04b13cc 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -29,8 +29,10 @@ node() { if (isPromoteToTest) { stage("Deploy to TEST") { - sh "git tag ${tagVersion}" - sh "git push --tags" + withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'github-omallo', usernameVariable: 'GIT_USERNAME', passwordVariable: 'GIT_PASSWORD']]) { + sh "git tag ${tagVersion}" + sh "git push --tags https://${GIT_USERNAME}:${GIT_PASSWORD}@github.com/omallo/ruby-ex.git" + } ocutil.ocTag("rubex-dev", "frontend", "dev", tagVersion) ocutil.ocTag("rubex-dev", "frontend", tagVersion, "test") From 95dc59ec0140e26293764d4e0310949563b75aae Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 05:23:21 +0100 Subject: [PATCH 195/239] Bump the version to 27 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 99c795e..6ace37b 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 26)

+

Welcome to your Ruby application on OpenShift (version 27)

From 9c20a57205802f042ecb56322cb9508faf4129b8 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 05:26:53 +0100 Subject: [PATCH 196/239] Test commit +semver: minor --- config.ru | 1 - 1 file changed, 1 deletion(-) diff --git a/config.ru b/config.ru index 6ace37b..fc0a53a 100755 --- a/config.ru +++ b/config.ru @@ -229,7 +229,6 @@ pre {

Welcome to your Ruby application on OpenShift (version 27)

-
From cf42630ce53bdbb5005444f420e68eb499542233 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 05:29:12 +0100 Subject: [PATCH 197/239] Bump to version 28 (+semver: major) --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index fc0a53a..aa34b5c 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 27)

+

Welcome to your Ruby application on OpenShift (version 28)

From 91e602c76f62b4b62eb0b35f98781609d70bb85f Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 05:30:39 +0100 Subject: [PATCH 198/239] Bump to version 29 +semver: major --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index aa34b5c..d7ec905 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 28)

+

Welcome to your Ruby application on OpenShift (version 29)

From db4f11fef516fe946ed2c59ee4709e3382027977 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 05:33:24 +0100 Subject: [PATCH 199/239] Bump to version 30 +semver: major --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index d7ec905..699c718 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 29)

+

Welcome to your Ruby application on OpenShift (version 30)

From 68ba5ecad35e8e918813d9561cad7011add53e7f Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 06:05:05 +0100 Subject: [PATCH 200/239] Update the GitVersion path --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 04b13cc..8af8aff 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -6,7 +6,7 @@ node() { git(url: "https://github.com/omallo/ruby-ex.git", credentialsId: "github-omallo") } - def gitVersionCmd = "mono /usr/local/GitVersion_3.6.5/GitVersion.exe" + def gitVersionCmd = "mono /usr/local/GitVersion/GitVersion.exe" def buildVersion = sh(script: "${gitVersionCmd} /showvariable FullSemVer", returnStdout: true).trim() def tagVersion = sh(script: "${gitVersionCmd} /showvariable MajorMinorPatch", returnStdout: true).trim() echo "versions: buildVersion=${buildVersion}, tagVersion=${tagVersion}" From bbd4efbf3d81151bdccb2f0d4b4fc5ba805aa94b Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 14:25:23 +0100 Subject: [PATCH 201/239] Some cleanup --- deployment/pipeline.groovy | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 8af8aff..8069cea 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,16 +1,13 @@ @Library('ocutil') _ node() { + def gitVersionCmd = "mono /usr/local/GitVersion/GitVersion.exe" + stage("Checkout") { deleteDir() git(url: "https://github.com/omallo/ruby-ex.git", credentialsId: "github-omallo") } - def gitVersionCmd = "mono /usr/local/GitVersion/GitVersion.exe" - def buildVersion = sh(script: "${gitVersionCmd} /showvariable FullSemVer", returnStdout: true).trim() - def tagVersion = sh(script: "${gitVersionCmd} /showvariable MajorMinorPatch", returnStdout: true).trim() - echo "versions: buildVersion=${buildVersion}, tagVersion=${tagVersion}" - def config = ocutil.parseConfig(readFile("deployment/config.yaml")) stage("Build") { @@ -29,6 +26,10 @@ node() { if (isPromoteToTest) { stage("Deploy to TEST") { + def buildVersion = sh(script: "${gitVersionCmd} /showvariable FullSemVer", returnStdout: true).trim() + def tagVersion = sh(script: "${gitVersionCmd} /showvariable MajorMinorPatch", returnStdout: true).trim() + echo "versions: buildVersion=${buildVersion}, tagVersion=${tagVersion}" + withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'github-omallo', usernameVariable: 'GIT_USERNAME', passwordVariable: 'GIT_PASSWORD']]) { sh "git tag ${tagVersion}" sh "git push --tags https://${GIT_USERNAME}:${GIT_PASSWORD}@github.com/omallo/ruby-ex.git" From d9382370663d115aa65e21347ca20e321c074dac Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 14:52:48 +0100 Subject: [PATCH 202/239] Some cleanup --- infra/setup.sh | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/infra/setup.sh b/infra/setup.sh index 9855c8c..dbf96ef 100644 --- a/infra/setup.sh +++ b/infra/setup.sh @@ -4,11 +4,22 @@ sudo htpasswd -b /etc/origin/master/htpasswd dev1 dev1 sudo htpasswd -b /etc/origin/master/htpasswd test1 test1 oc login -u admin -p admin +oc new-project cicd +oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-dev +oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-test +oc login -u system:admin +oc project openshift +oc delete is oc-jenkins +oc create is oc-jenkins +oc tag --source=docker --scheduled=true omallo/oc-jenkins:latest openshift/oc-jenkins:latest + +oc login -u admin -p admin oc new-project rubex-dev oc policy add-role-to-user edit dev1 -n rubex-dev oc policy add-role-to-user view test1 -n rubex-dev +oc login -u admin -p admin oc new-project rubex-test oc policy add-role-to-user edit test1 -n rubex-test oc policy add-role-to-group system:image-puller system:serviceaccounts:rubex-test -n rubex-dev @@ -31,18 +42,3 @@ oc login -u dev1 -p dev1 oc project rubex-dev oc tag rubex-dev/frontend:latest rubex-dev/frontend:test - -oc login -u admin -p admin - -oc new-project cicd -oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-dev -oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-test - -oc login -u system:admin -oc project openshift -oc delete is oc-jenkins -oc create is oc-jenkins -oc tag --source=docker --scheduled=true omallo/oc-jenkins:latest openshift/oc-jenkins:latest - -#oc new-app --name=jenkins omallo/oc-jenkins -#oc expose svc ci --hostname ci.oc.habitz-app.com From f897be952cb53bda80975a51694d9b01a6cc5907 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 14:53:35 +0100 Subject: [PATCH 203/239] Some cleanup --- infra/setup.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/infra/setup.sh b/infra/setup.sh index dbf96ef..9b49fdd 100644 --- a/infra/setup.sh +++ b/infra/setup.sh @@ -3,17 +3,17 @@ sudo htpasswd -b /etc/origin/master/htpasswd dev1 dev1 sudo htpasswd -b /etc/origin/master/htpasswd test1 test1 -oc login -u admin -p admin -oc new-project cicd -oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-dev -oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-test - oc login -u system:admin oc project openshift oc delete is oc-jenkins oc create is oc-jenkins oc tag --source=docker --scheduled=true omallo/oc-jenkins:latest openshift/oc-jenkins:latest +oc login -u admin -p admin +oc new-project cicd +oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-dev +oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-test + oc login -u admin -p admin oc new-project rubex-dev oc policy add-role-to-user edit dev1 -n rubex-dev From 19819a75e9c0a7259ecc3ef2837ddcfe5ecd61e6 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 16:00:22 +0100 Subject: [PATCH 204/239] Include the creation of the Jenkins instance --- infra/setup.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/infra/setup.sh b/infra/setup.sh index 9b49fdd..be06e8b 100644 --- a/infra/setup.sh +++ b/infra/setup.sh @@ -24,6 +24,14 @@ oc new-project rubex-test oc policy add-role-to-user edit test1 -n rubex-test oc policy add-role-to-group system:image-puller system:serviceaccounts:rubex-test -n rubex-dev +oc process \ + -f https://raw.githubusercontent.com/openshift/origin/master/examples/jenkins/jenkins-ephemeral-template.json \ + -v MEMORY_LIMIT=2Gi \ + -v JENKINS_IMAGE_STREAM_TAG=oc-jenkins:latest \ + | oc apply -f - + +# --- + oc login -u dev1 -p dev1 oc project rubex-dev From d707d0ea49dd022a86ed30c7d32454fd7aa6248d Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 16:23:52 +0100 Subject: [PATCH 205/239] Add the Jenkins job config to version control --- deployment/job-config.xml | 45 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 deployment/job-config.xml diff --git a/deployment/job-config.xml b/deployment/job-config.xml new file mode 100644 index 0000000..95618bf --- /dev/null +++ b/deployment/job-config.xml @@ -0,0 +1,45 @@ + + + + false + + + + + + + + + + -1 + 5 + -1 + -1 + + + + + + + + + + 2 + + + https://github.com/omallo/ruby-ex + + + + + */master + + + false + + + + deployment/pipeline.groovy + + + From 1a545b425abcb14bbc6711fd6f1dd74ec6c91015 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 18:40:24 +0100 Subject: [PATCH 206/239] Use a persistent storage for jenkins --- infra/setup.sh | 12 ++++++++++-- infra/{volumes.yaml => volumes-gce.yaml} | 0 infra/volumes-local.yaml | 13 +++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) rename infra/{volumes.yaml => volumes-gce.yaml} (100%) create mode 100644 infra/volumes-local.yaml diff --git a/infra/setup.sh b/infra/setup.sh index be06e8b..a7832f5 100644 --- a/infra/setup.sh +++ b/infra/setup.sh @@ -3,6 +3,11 @@ sudo htpasswd -b /etc/origin/master/htpasswd dev1 dev1 sudo htpasswd -b /etc/origin/master/htpasswd test1 test1 +oc login -u system:admin +mkdir -p ~/openshift/volumes/ +oc delete -f infra/volumes-local.yaml +oc apply -f infra/volumes-local.yaml + oc login -u system:admin oc project openshift oc delete is oc-jenkins @@ -24,10 +29,13 @@ oc new-project rubex-test oc policy add-role-to-user edit test1 -n rubex-test oc policy add-role-to-group system:image-puller system:serviceaccounts:rubex-test -n rubex-dev +oc login -u admin -p admin +oc project cicd oc process \ - -f https://raw.githubusercontent.com/openshift/origin/master/examples/jenkins/jenkins-ephemeral-template.json \ - -v MEMORY_LIMIT=2Gi \ + -f https://raw.githubusercontent.com/openshift/origin/master/examples/jenkins/jenkins-persistent-template.json \ -v JENKINS_IMAGE_STREAM_TAG=oc-jenkins:latest \ + -v MEMORY_LIMIT=2Gi \ + -v VOLUME_CAPACITY=5Gi \ | oc apply -f - # --- diff --git a/infra/volumes.yaml b/infra/volumes-gce.yaml similarity index 100% rename from infra/volumes.yaml rename to infra/volumes-gce.yaml diff --git a/infra/volumes-local.yaml b/infra/volumes-local.yaml new file mode 100644 index 0000000..5d283da --- /dev/null +++ b/infra/volumes-local.yaml @@ -0,0 +1,13 @@ +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: disk-1 +spec: + capacity: + storage: 10Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + hostPath: + path: /Users/omallo/openshift/volumes/disk-1 From 9090d3882e7670ab34f3f47a90c3d3a538416493 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 18:40:39 +0100 Subject: [PATCH 207/239] Bump to version 31 --- config.ru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ru b/config.ru index 699c718..630c057 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 30)

+

Welcome to your Ruby application on OpenShift (version 31)

From 4a9c206752095723215f73ad0471530504e3c9c3 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Mon, 2 Jan 2017 19:06:06 +0100 Subject: [PATCH 208/239] Some cleanup --- infra/setup.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/infra/setup.sh b/infra/setup.sh index a7832f5..24c56ff 100644 --- a/infra/setup.sh +++ b/infra/setup.sh @@ -7,6 +7,7 @@ oc login -u system:admin mkdir -p ~/openshift/volumes/ oc delete -f infra/volumes-local.yaml oc apply -f infra/volumes-local.yaml +oc get pv oc login -u system:admin oc project openshift From e57288eebbe5ab6b8a71defdb5170912d8da1efe Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 3 Jan 2017 00:18:48 +0100 Subject: [PATCH 209/239] Use a binary build --- deployment/manifests/build.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/deployment/manifests/build.yaml b/deployment/manifests/build.yaml index 6a81161..b33e0da 100644 --- a/deployment/manifests/build.yaml +++ b/deployment/manifests/build.yaml @@ -19,10 +19,7 @@ objects: kind: ImageStreamTag name: frontend:latest source: - type: Git - git: - uri: https://github.com/omallo/ruby-ex - ref: master + type: Binary strategy: type: Source sourceStrategy: From 495546894cdba45cacc21424694c64517f197def Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 3 Jan 2017 00:21:04 +0100 Subject: [PATCH 210/239] Rename ocDeploy to ocRollout --- deployment/pipeline.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 8069cea..096b7cc 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -16,7 +16,7 @@ node() { stage("Deploy to DEV") { ocutil.ocTag("rubex-dev", "frontend", "latest", "dev") - ocutil.ocDeploy("rubex-dev", "frontend", config.dev.deployment.frontend) + ocutil.ocRollout("rubex-dev", "frontend", config.dev.deployment.frontend) } def isPromoteToTest = false @@ -37,7 +37,7 @@ node() { ocutil.ocTag("rubex-dev", "frontend", "dev", tagVersion) ocutil.ocTag("rubex-dev", "frontend", tagVersion, "test") - ocutil.ocDeploy("rubex-test", "frontend", config.test.deployment.frontend) + ocutil.ocRollout("rubex-test", "frontend", config.test.deployment.frontend) } } } From 042f8a847e716b535c3453e58fdec59a33946e8f Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 3 Jan 2017 00:29:33 +0100 Subject: [PATCH 211/239] Set the version in the config file during the build --- config.ru | 2 +- deployment/pipeline.groovy | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/config.ru b/config.ru index 630c057..f6175bf 100755 --- a/config.ru +++ b/config.ru @@ -226,7 +226,7 @@ pre {
-

Welcome to your Ruby application on OpenShift (version 31)

+

Welcome to your Ruby application on OpenShift (version {{BUILD_VERSION}})

diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 096b7cc..7ab34fc 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -10,7 +10,12 @@ node() { def config = ocutil.parseConfig(readFile("deployment/config.yaml")) + def buildVersion = sh(script: "${gitVersionCmd} /showvariable FullSemVer", returnStdout: true).trim() + def tagVersion = sh(script: "${gitVersionCmd} /showvariable MajorMinorPatch", returnStdout: true).trim() + echo "versions: buildVersion=${buildVersion}, tagVersion=${tagVersion}" + stage("Build") { + sh "sed -i '' 's/{{BUILD_VERSION}}/${buildVersion}/g' config.ru" ocutil.ocBuild("rubex-dev", "frontend", config.dev.build.frontend) } @@ -26,10 +31,6 @@ node() { if (isPromoteToTest) { stage("Deploy to TEST") { - def buildVersion = sh(script: "${gitVersionCmd} /showvariable FullSemVer", returnStdout: true).trim() - def tagVersion = sh(script: "${gitVersionCmd} /showvariable MajorMinorPatch", returnStdout: true).trim() - echo "versions: buildVersion=${buildVersion}, tagVersion=${tagVersion}" - withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'github-omallo', usernameVariable: 'GIT_USERNAME', passwordVariable: 'GIT_PASSWORD']]) { sh "git tag ${tagVersion}" sh "git push --tags https://${GIT_USERNAME}:${GIT_PASSWORD}@github.com/omallo/ruby-ex.git" From 1a9bb3e79613c13cba13b05228030c44018f3b69 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 3 Jan 2017 00:32:19 +0100 Subject: [PATCH 212/239] Fix the sed command --- deployment/pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 7ab34fc..bf123c9 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -15,7 +15,7 @@ node() { echo "versions: buildVersion=${buildVersion}, tagVersion=${tagVersion}" stage("Build") { - sh "sed -i '' 's/{{BUILD_VERSION}}/${buildVersion}/g' config.ru" + sh "sed -e 's/{{BUILD_VERSION}}/${buildVersion}/g' -i config.ru" ocutil.ocBuild("rubex-dev", "frontend", config.dev.build.frontend) } From a6f28acde4354d2eb5c4b10a8fa148e23e742e69 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 3 Jan 2017 00:36:42 +0100 Subject: [PATCH 213/239] Switch to a binary build --- deployment/manifests/build.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/deployment/manifests/build.yaml b/deployment/manifests/build.yaml index b33e0da..43900d6 100644 --- a/deployment/manifests/build.yaml +++ b/deployment/manifests/build.yaml @@ -20,6 +20,8 @@ objects: name: frontend:latest source: type: Binary + binary: + asFile: "" strategy: type: Source sourceStrategy: From 5c9a53bd3f586168e394dfdc79ad775d61bfd073 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 3 Jan 2017 00:41:16 +0100 Subject: [PATCH 214/239] Dummy commit (+semver: minor) --- config.ru | 1 + 1 file changed, 1 insertion(+) diff --git a/config.ru b/config.ru index f6175bf..b0db818 100755 --- a/config.ru +++ b/config.ru @@ -224,6 +224,7 @@ pre { +

Welcome to your Ruby application on OpenShift (version {{BUILD_VERSION}})

From b64c69eb6778d9d9868afe23009e2267a7625f22 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 3 Jan 2017 00:53:12 +0100 Subject: [PATCH 215/239] Some cleanup (+semver: major) --- deployment/manifests/build.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/deployment/manifests/build.yaml b/deployment/manifests/build.yaml index 43900d6..1c11da9 100644 --- a/deployment/manifests/build.yaml +++ b/deployment/manifests/build.yaml @@ -20,8 +20,7 @@ objects: name: frontend:latest source: type: Binary - binary: - asFile: "" + binary: {} strategy: type: Source sourceStrategy: From 379891e10610f95d5236597922968f8bb000d4e7 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 3 Jan 2017 01:21:55 +0100 Subject: [PATCH 216/239] Dummy commit (+semver: major) --- config.ru | 1 - 1 file changed, 1 deletion(-) diff --git a/config.ru b/config.ru index b0db818..f6175bf 100755 --- a/config.ru +++ b/config.ru @@ -224,7 +224,6 @@ pre { -

Welcome to your Ruby application on OpenShift (version {{BUILD_VERSION}})

From 18d800bfe561f63bb280f4d8a4595d828d2292b7 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 3 Jan 2017 01:33:29 +0100 Subject: [PATCH 217/239] Include the build number in the build version --- deployment/pipeline.groovy | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index bf123c9..b32ed2c 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -10,7 +10,8 @@ node() { def config = ocutil.parseConfig(readFile("deployment/config.yaml")) - def buildVersion = sh(script: "${gitVersionCmd} /showvariable FullSemVer", returnStdout: true).trim() + def fullSemVer = sh(script: "${gitVersionCmd} /showvariable FullSemVer", returnStdout: true).trim() + def buildVersion = "${fullSemVer}+${currentBuild.number}" def tagVersion = sh(script: "${gitVersionCmd} /showvariable MajorMinorPatch", returnStdout: true).trim() echo "versions: buildVersion=${buildVersion}, tagVersion=${tagVersion}" From 39cf117e52db84264072c92487b2e4978cfc21be Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 3 Jan 2017 01:51:11 +0100 Subject: [PATCH 218/239] Remove the "oc" prefix from method names --- deployment/pipeline.groovy | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index b32ed2c..209750d 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -17,12 +17,12 @@ node() { stage("Build") { sh "sed -e 's/{{BUILD_VERSION}}/${buildVersion}/g' -i config.ru" - ocutil.ocBuild("rubex-dev", "frontend", config.dev.build.frontend) + ocutil.build("rubex-dev", "frontend", config.dev.build.frontend) } stage("Deploy to DEV") { - ocutil.ocTag("rubex-dev", "frontend", "latest", "dev") - ocutil.ocRollout("rubex-dev", "frontend", config.dev.deployment.frontend) + ocutil.tag("rubex-dev", "frontend", "latest", "dev") + ocutil.rollout("rubex-dev", "frontend", config.dev.deployment.frontend) } def isPromoteToTest = false @@ -37,9 +37,9 @@ node() { sh "git push --tags https://${GIT_USERNAME}:${GIT_PASSWORD}@github.com/omallo/ruby-ex.git" } - ocutil.ocTag("rubex-dev", "frontend", "dev", tagVersion) - ocutil.ocTag("rubex-dev", "frontend", tagVersion, "test") - ocutil.ocRollout("rubex-test", "frontend", config.test.deployment.frontend) + ocutil.tag("rubex-dev", "frontend", "dev", tagVersion) + ocutil.tag("rubex-dev", "frontend", tagVersion, "test") + ocutil.rollout("rubex-test", "frontend", config.test.deployment.frontend) } } } From 55e0ac75da36393c4f794b58ab9f05f6e050c1ad Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 3 Jan 2017 02:47:29 +0100 Subject: [PATCH 219/239] Add commands to copy the job config --- infra/setup.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/infra/setup.sh b/infra/setup.sh index 24c56ff..3824045 100644 --- a/infra/setup.sh +++ b/infra/setup.sh @@ -39,6 +39,9 @@ oc process \ -v VOLUME_CAPACITY=5Gi \ | oc apply -f - +mkdir -p ~/openshift/volumes/disk-1/jobs/rubex-frontend +cp deployment/job-config.xml ~/openshift/volumes/disk-1/jobs/rubex-frontend/config.xml + # --- oc login -u dev1 -p dev1 From f3ae8bdb98ed77e020baabded0fdfce583b3d907 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Tue, 3 Jan 2017 22:38:32 +0100 Subject: [PATCH 220/239] Renamed ocutil -> occd --- deployment/pipeline.groovy | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/deployment/pipeline.groovy b/deployment/pipeline.groovy index 209750d..784af19 100644 --- a/deployment/pipeline.groovy +++ b/deployment/pipeline.groovy @@ -1,4 +1,4 @@ -@Library('ocutil') _ +@Library('occd') _ node() { def gitVersionCmd = "mono /usr/local/GitVersion/GitVersion.exe" @@ -8,7 +8,7 @@ node() { git(url: "https://github.com/omallo/ruby-ex.git", credentialsId: "github-omallo") } - def config = ocutil.parseConfig(readFile("deployment/config.yaml")) + def config = occd.parseConfig(readFile("deployment/config.yaml")) def fullSemVer = sh(script: "${gitVersionCmd} /showvariable FullSemVer", returnStdout: true).trim() def buildVersion = "${fullSemVer}+${currentBuild.number}" @@ -17,12 +17,12 @@ node() { stage("Build") { sh "sed -e 's/{{BUILD_VERSION}}/${buildVersion}/g' -i config.ru" - ocutil.build("rubex-dev", "frontend", config.dev.build.frontend) + occd.build("rubex-dev", "frontend", config.dev.build.frontend) } stage("Deploy to DEV") { - ocutil.tag("rubex-dev", "frontend", "latest", "dev") - ocutil.rollout("rubex-dev", "frontend", config.dev.deployment.frontend) + occd.tag("rubex-dev", "frontend", "latest", "dev") + occd.rollout("rubex-dev", "frontend", config.dev.deployment.frontend) } def isPromoteToTest = false @@ -37,9 +37,9 @@ node() { sh "git push --tags https://${GIT_USERNAME}:${GIT_PASSWORD}@github.com/omallo/ruby-ex.git" } - ocutil.tag("rubex-dev", "frontend", "dev", tagVersion) - ocutil.tag("rubex-dev", "frontend", tagVersion, "test") - ocutil.rollout("rubex-test", "frontend", config.test.deployment.frontend) + occd.tag("rubex-dev", "frontend", "dev", tagVersion) + occd.tag("rubex-dev", "frontend", tagVersion, "test") + occd.rollout("rubex-test", "frontend", config.test.deployment.frontend) } } } From 9e9aa11b5a367b7f6d9a56099efeb645f13a287a Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 00:24:12 +0100 Subject: [PATCH 221/239] Renamed pipeline.groovy -> delivery-pipeline.groovy --- deployment/{pipeline.groovy => delivery-pipeline.groovy} | 0 deployment/job-config.xml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename deployment/{pipeline.groovy => delivery-pipeline.groovy} (100%) diff --git a/deployment/pipeline.groovy b/deployment/delivery-pipeline.groovy similarity index 100% rename from deployment/pipeline.groovy rename to deployment/delivery-pipeline.groovy diff --git a/deployment/job-config.xml b/deployment/job-config.xml index 95618bf..972b1be 100644 --- a/deployment/job-config.xml +++ b/deployment/job-config.xml @@ -39,7 +39,7 @@ - deployment/pipeline.groovy + deployment/delivery-pipeline.groovy From 6253ad9e28f96f0620bd7253237cc6ad9b25d135 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 00:41:10 +0100 Subject: [PATCH 222/239] Use library methods to get the build/release versions --- deployment/delivery-pipeline.groovy | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/deployment/delivery-pipeline.groovy b/deployment/delivery-pipeline.groovy index 784af19..8369a95 100644 --- a/deployment/delivery-pipeline.groovy +++ b/deployment/delivery-pipeline.groovy @@ -1,8 +1,6 @@ @Library('occd') _ node() { - def gitVersionCmd = "mono /usr/local/GitVersion/GitVersion.exe" - stage("Checkout") { deleteDir() git(url: "https://github.com/omallo/ruby-ex.git", credentialsId: "github-omallo") @@ -10,10 +8,9 @@ node() { def config = occd.parseConfig(readFile("deployment/config.yaml")) - def fullSemVer = sh(script: "${gitVersionCmd} /showvariable FullSemVer", returnStdout: true).trim() - def buildVersion = "${fullSemVer}+${currentBuild.number}" - def tagVersion = sh(script: "${gitVersionCmd} /showvariable MajorMinorPatch", returnStdout: true).trim() - echo "versions: buildVersion=${buildVersion}, tagVersion=${tagVersion}" + def buildVersion = occd.getBuildVersion() + def releaseVersion = occd.getReleaseVersion() + echo "versions: buildVersion=${buildVersion}, releaseVersion=${releaseVersion}" stage("Build") { sh "sed -e 's/{{BUILD_VERSION}}/${buildVersion}/g' -i config.ru" @@ -33,12 +30,12 @@ node() { if (isPromoteToTest) { stage("Deploy to TEST") { withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'github-omallo', usernameVariable: 'GIT_USERNAME', passwordVariable: 'GIT_PASSWORD']]) { - sh "git tag ${tagVersion}" + sh "git tag ${releaseVersion}" sh "git push --tags https://${GIT_USERNAME}:${GIT_PASSWORD}@github.com/omallo/ruby-ex.git" } - occd.tag("rubex-dev", "frontend", "dev", tagVersion) - occd.tag("rubex-dev", "frontend", tagVersion, "test") + occd.tag("rubex-dev", "frontend", "dev", releaseVersion) + occd.tag("rubex-dev", "frontend", releaseVersion, "test") occd.rollout("rubex-test", "frontend", config.test.deployment.frontend) } } From df073e850258f74dcacc0f048df008d8952b05ad Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 00:43:44 +0100 Subject: [PATCH 223/239] Move the version echo command inside the build stage --- deployment/delivery-pipeline.groovy | 2 +- deployment/feature-build-pipeline.groovy | 0 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 deployment/feature-build-pipeline.groovy diff --git a/deployment/delivery-pipeline.groovy b/deployment/delivery-pipeline.groovy index 8369a95..f2bc924 100644 --- a/deployment/delivery-pipeline.groovy +++ b/deployment/delivery-pipeline.groovy @@ -10,9 +10,9 @@ node() { def buildVersion = occd.getBuildVersion() def releaseVersion = occd.getReleaseVersion() - echo "versions: buildVersion=${buildVersion}, releaseVersion=${releaseVersion}" stage("Build") { + echo "versions: buildVersion=${buildVersion}, releaseVersion=${releaseVersion}" sh "sed -e 's/{{BUILD_VERSION}}/${buildVersion}/g' -i config.ru" occd.build("rubex-dev", "frontend", config.dev.build.frontend) } diff --git a/deployment/feature-build-pipeline.groovy b/deployment/feature-build-pipeline.groovy new file mode 100644 index 0000000..e69de29 From 3eb57d88b82cc39f06221c84d401ef2bf614045e Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 00:44:43 +0100 Subject: [PATCH 224/239] Some cleanup --- deployment/delivery-pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/delivery-pipeline.groovy b/deployment/delivery-pipeline.groovy index f2bc924..ecfb3a9 100644 --- a/deployment/delivery-pipeline.groovy +++ b/deployment/delivery-pipeline.groovy @@ -12,7 +12,7 @@ node() { def releaseVersion = occd.getReleaseVersion() stage("Build") { - echo "versions: buildVersion=${buildVersion}, releaseVersion=${releaseVersion}" + echo "versions: build=${buildVersion}, next-release=${releaseVersion}" sh "sed -e 's/{{BUILD_VERSION}}/${buildVersion}/g' -i config.ru" occd.build("rubex-dev", "frontend", config.dev.build.frontend) } From 8d52c35ed9843f7fc5abcc2b3efd3d5e833d0f84 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 00:49:51 +0100 Subject: [PATCH 225/239] Specify the branch to checkout --- deployment/delivery-pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/delivery-pipeline.groovy b/deployment/delivery-pipeline.groovy index ecfb3a9..b451f5b 100644 --- a/deployment/delivery-pipeline.groovy +++ b/deployment/delivery-pipeline.groovy @@ -3,7 +3,7 @@ node() { stage("Checkout") { deleteDir() - git(url: "https://github.com/omallo/ruby-ex.git", credentialsId: "github-omallo") + git(url: "https://github.com/omallo/ruby-ex.git", branch: "master", credentialsId: "github-omallo") } def config = occd.parseConfig(readFile("deployment/config.yaml")) From d22d7420afbf430064d9ba55ba6722c84d793868 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 01:00:24 +0100 Subject: [PATCH 226/239] Define a skeletton for the feature build pipeline --- deployment/feature-build-pipeline.groovy | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/deployment/feature-build-pipeline.groovy b/deployment/feature-build-pipeline.groovy index e69de29..7f3fbaa 100644 --- a/deployment/feature-build-pipeline.groovy +++ b/deployment/feature-build-pipeline.groovy @@ -0,0 +1,9 @@ +@Library('occd') _ + +node() { + stage("Checkout") { + deleteDir() + git(url: "https://github.com/omallo/ruby-ex.git", branch: "${FEATURE_BRANCH}", credentialsId: "github-omallo") + sh "git status" + } +} From 70b38d2742ac5c5a297f69aa73c4f1ef699d12db Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 01:04:09 +0100 Subject: [PATCH 227/239] Rename job config --- deployment/{job-config.xml => delivery-job-config.xml} | 0 infra/setup.sh | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename deployment/{job-config.xml => delivery-job-config.xml} (100%) diff --git a/deployment/job-config.xml b/deployment/delivery-job-config.xml similarity index 100% rename from deployment/job-config.xml rename to deployment/delivery-job-config.xml diff --git a/infra/setup.sh b/infra/setup.sh index 3824045..6582722 100644 --- a/infra/setup.sh +++ b/infra/setup.sh @@ -39,8 +39,8 @@ oc process \ -v VOLUME_CAPACITY=5Gi \ | oc apply -f - -mkdir -p ~/openshift/volumes/disk-1/jobs/rubex-frontend -cp deployment/job-config.xml ~/openshift/volumes/disk-1/jobs/rubex-frontend/config.xml +mkdir -p ~/openshift/volumes/disk-1/jobs/rubex-frontend-delivery +cp deployment/delivery-job-config.xml ~/openshift/volumes/disk-1/jobs/rubex-frontend-delivery/config.xml # --- From efc71d9f2d7a9e9e089df5ac356ad43baf88e8b0 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 01:19:16 +0100 Subject: [PATCH 228/239] Build to a new tag named "b-master" --- deployment/config.yaml | 2 ++ deployment/delivery-pipeline.groovy | 2 +- deployment/feature-build-pipeline.groovy | 1 - deployment/manifests/build.yaml | 5 ++++- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index 328bc29..44b64d4 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -3,6 +3,8 @@ dev: frontend: templates: - manifest: deployment/manifests/build.yaml + parameters: + TARGET_IMAGE_STREAM_TAG: b-master deployment: frontend: templates: diff --git a/deployment/delivery-pipeline.groovy b/deployment/delivery-pipeline.groovy index b451f5b..863c0ad 100644 --- a/deployment/delivery-pipeline.groovy +++ b/deployment/delivery-pipeline.groovy @@ -18,7 +18,7 @@ node() { } stage("Deploy to DEV") { - occd.tag("rubex-dev", "frontend", "latest", "dev") + occd.tag("rubex-dev", "frontend", "b-master", "dev") occd.rollout("rubex-dev", "frontend", config.dev.deployment.frontend) } diff --git a/deployment/feature-build-pipeline.groovy b/deployment/feature-build-pipeline.groovy index 7f3fbaa..3ad4264 100644 --- a/deployment/feature-build-pipeline.groovy +++ b/deployment/feature-build-pipeline.groovy @@ -4,6 +4,5 @@ node() { stage("Checkout") { deleteDir() git(url: "https://github.com/omallo/ruby-ex.git", branch: "${FEATURE_BRANCH}", credentialsId: "github-omallo") - sh "git status" } } diff --git a/deployment/manifests/build.yaml b/deployment/manifests/build.yaml index 1c11da9..a665d79 100644 --- a/deployment/manifests/build.yaml +++ b/deployment/manifests/build.yaml @@ -17,7 +17,7 @@ objects: output: to: kind: ImageStreamTag - name: frontend:latest + name: frontend:${TARGET_IMAGE_STREAM_TAG} source: type: Binary binary: {} @@ -28,3 +28,6 @@ objects: kind: ImageStreamTag name: ruby:2.3 namespace: openshift +- description: The image stream tag to build to. + displayName: Target image stream tag + name: TARGET_IMAGE_STREAM_TAG From 6503d195f32595af4c893db408c86887f2f45e33 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 01:26:35 +0100 Subject: [PATCH 229/239] Some cleanup --- deployment/config.yaml | 2 +- deployment/manifests/build.yaml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index 44b64d4..1fce029 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -4,7 +4,7 @@ dev: templates: - manifest: deployment/manifests/build.yaml parameters: - TARGET_IMAGE_STREAM_TAG: b-master + OUTPUT_IMAGE_STREAM_TAG: b-master deployment: frontend: templates: diff --git a/deployment/manifests/build.yaml b/deployment/manifests/build.yaml index a665d79..6ee6609 100644 --- a/deployment/manifests/build.yaml +++ b/deployment/manifests/build.yaml @@ -17,7 +17,7 @@ objects: output: to: kind: ImageStreamTag - name: frontend:${TARGET_IMAGE_STREAM_TAG} + name: frontend:${OUTPUT_IMAGE_STREAM_TAG} source: type: Binary binary: {} @@ -29,5 +29,5 @@ objects: name: ruby:2.3 namespace: openshift - description: The image stream tag to build to. - displayName: Target image stream tag - name: TARGET_IMAGE_STREAM_TAG + displayName: Output image stream tag + name: OUTPUT_IMAGE_STREAM_TAG From c8432d7fad300ec5d77bfd63094fb41b633d53e5 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 01:29:12 +0100 Subject: [PATCH 230/239] Fix config --- deployment/manifests/build.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/deployment/manifests/build.yaml b/deployment/manifests/build.yaml index 6ee6609..cffe051 100644 --- a/deployment/manifests/build.yaml +++ b/deployment/manifests/build.yaml @@ -28,6 +28,7 @@ objects: kind: ImageStreamTag name: ruby:2.3 namespace: openshift +parameters: - description: The image stream tag to build to. displayName: Output image stream tag name: OUTPUT_IMAGE_STREAM_TAG From 0715142fcddb00d11ef46ac81af6190062c8611e Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 01:48:01 +0100 Subject: [PATCH 231/239] Some renaming --- deployment/config.yaml | 2 +- deployment/manifests/build.yaml | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index 1fce029..e549c5b 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -4,7 +4,7 @@ dev: templates: - manifest: deployment/manifests/build.yaml parameters: - OUTPUT_IMAGE_STREAM_TAG: b-master + BRANCH: master deployment: frontend: templates: diff --git a/deployment/manifests/build.yaml b/deployment/manifests/build.yaml index cffe051..007b995 100644 --- a/deployment/manifests/build.yaml +++ b/deployment/manifests/build.yaml @@ -4,20 +4,20 @@ objects: - apiVersion: v1 kind: ImageStream metadata: - name: frontend + name: ${APP} labels: - app: frontend + app: ${APP} - apiVersion: v1 kind: BuildConfig metadata: - name: frontend + name: ${APP}-${BRANCH} labels: - app: frontend + app: ${APP} spec: output: to: kind: ImageStreamTag - name: frontend:${OUTPUT_IMAGE_STREAM_TAG} + name: ${APP}:b-${BRANCH} source: type: Binary binary: {} @@ -29,6 +29,10 @@ objects: name: ruby:2.3 namespace: openshift parameters: -- description: The image stream tag to build to. - displayName: Output image stream tag - name: OUTPUT_IMAGE_STREAM_TAG +- description: The application name. + displayName: Application name + name: APP + value: frontend +- description: The branch being built. + displayName: Branch + name: BRANCH From 56a8cd10f1924f36e9d7f40401e991526737a780 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 01:50:42 +0100 Subject: [PATCH 232/239] Fix the build name --- deployment/delivery-pipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/delivery-pipeline.groovy b/deployment/delivery-pipeline.groovy index 863c0ad..fb1a616 100644 --- a/deployment/delivery-pipeline.groovy +++ b/deployment/delivery-pipeline.groovy @@ -14,7 +14,7 @@ node() { stage("Build") { echo "versions: build=${buildVersion}, next-release=${releaseVersion}" sh "sed -e 's/{{BUILD_VERSION}}/${buildVersion}/g' -i config.ru" - occd.build("rubex-dev", "frontend", config.dev.build.frontend) + occd.build("rubex-dev", "frontend-master", config.dev.build.frontend) } stage("Deploy to DEV") { From 8b67562c678edc6d0e4608d60242ce4c57553a04 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 11:45:28 +0100 Subject: [PATCH 233/239] Pass the branch to the build config --- deployment/config.yaml | 6 ------ deployment/delivery-pipeline.groovy | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/deployment/config.yaml b/deployment/config.yaml index e549c5b..3b165c9 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -1,10 +1,4 @@ dev: - build: - frontend: - templates: - - manifest: deployment/manifests/build.yaml - parameters: - BRANCH: master deployment: frontend: templates: diff --git a/deployment/delivery-pipeline.groovy b/deployment/delivery-pipeline.groovy index fb1a616..ba534a7 100644 --- a/deployment/delivery-pipeline.groovy +++ b/deployment/delivery-pipeline.groovy @@ -14,7 +14,7 @@ node() { stage("Build") { echo "versions: build=${buildVersion}, next-release=${releaseVersion}" sh "sed -e 's/{{BUILD_VERSION}}/${buildVersion}/g' -i config.ru" - occd.build("rubex-dev", "frontend-master", config.dev.build.frontend) + occd.build("rubex-dev", "frontend-master", "deployment/manifests/build.yaml", "master") } stage("Deploy to DEV") { From fc79631a1c2716d42d2748c0a29ad5e3a35b854d Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 12:06:28 +0100 Subject: [PATCH 234/239] Add a feature build --- deployment/delivery-pipeline.groovy | 11 +++++++---- deployment/feature-build-pipeline.groovy | 9 +++++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/deployment/delivery-pipeline.groovy b/deployment/delivery-pipeline.groovy index ba534a7..6106cb1 100644 --- a/deployment/delivery-pipeline.groovy +++ b/deployment/delivery-pipeline.groovy @@ -8,12 +8,12 @@ node() { def config = occd.parseConfig(readFile("deployment/config.yaml")) - def buildVersion = occd.getBuildVersion() - def releaseVersion = occd.getReleaseVersion() - stage("Build") { - echo "versions: build=${buildVersion}, next-release=${releaseVersion}" + def buildVersion = occd.getDeliveryBuildVersion() + echo "buildVersion=${buildVersion}" + sh "sed -e 's/{{BUILD_VERSION}}/${buildVersion}/g' -i config.ru" + occd.build("rubex-dev", "frontend-master", "deployment/manifests/build.yaml", "master") } @@ -29,6 +29,9 @@ node() { if (isPromoteToTest) { stage("Deploy to TEST") { + def releaseVersion = occd.getReleaseVersion() + echo "releaseVersion=${releaseVersion}" + withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'github-omallo', usernameVariable: 'GIT_USERNAME', passwordVariable: 'GIT_PASSWORD']]) { sh "git tag ${releaseVersion}" sh "git push --tags https://${GIT_USERNAME}:${GIT_PASSWORD}@github.com/omallo/ruby-ex.git" diff --git a/deployment/feature-build-pipeline.groovy b/deployment/feature-build-pipeline.groovy index 3ad4264..dd10ada 100644 --- a/deployment/feature-build-pipeline.groovy +++ b/deployment/feature-build-pipeline.groovy @@ -5,4 +5,13 @@ node() { deleteDir() git(url: "https://github.com/omallo/ruby-ex.git", branch: "${FEATURE_BRANCH}", credentialsId: "github-omallo") } + + stage("Build") { + def buildVersion = occd.getFeatureBuildVersion("${FEATURE_BRANCH}") + echo "versions: build=${buildVersion}" + + sh "sed -e 's/{{BUILD_VERSION}}/${buildVersion}/g' -i config.ru" + + occd.build("rubex-dev", "frontend-${FEATURE_BRANCH}", "deployment/manifests/build.yaml", "${FEATURE_BRANCH}") + } } From bb8b27f0b797fc9d218d69350313ef0237ab2396 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 12:43:10 +0100 Subject: [PATCH 235/239] Add a preview pipeline --- deployment/config.yaml | 8 ++++++++ deployment/preview-pipeline.groovy | 8 ++++++++ infra/setup.sh | 13 ++++++++++--- 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 deployment/preview-pipeline.groovy diff --git a/deployment/config.yaml b/deployment/config.yaml index 3b165c9..189c629 100644 --- a/deployment/config.yaml +++ b/deployment/config.yaml @@ -1,3 +1,11 @@ +prev: + deployment: + frontend: + templates: + - manifest: deployment/manifests/app.yaml + parameters: + ENV: prev + REPLICAS: 1 dev: deployment: frontend: diff --git a/deployment/preview-pipeline.groovy b/deployment/preview-pipeline.groovy new file mode 100644 index 0000000..7362c60 --- /dev/null +++ b/deployment/preview-pipeline.groovy @@ -0,0 +1,8 @@ +@Library('occd') _ + +node() { + stage("Deploy to PREV") { + occd.tag("rubex-dev", "frontend", "${SOURCE_IMAGE_STREAM_TAG}", "prev") + occd.rollout("rubex-prev", "frontend", config.prev.deployment.frontend) + } +} diff --git a/infra/setup.sh b/infra/setup.sh index 6582722..5e76e14 100644 --- a/infra/setup.sh +++ b/infra/setup.sh @@ -16,9 +16,9 @@ oc create is oc-jenkins oc tag --source=docker --scheduled=true omallo/oc-jenkins:latest openshift/oc-jenkins:latest oc login -u admin -p admin -oc new-project cicd -oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-dev -oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-test +oc new-project rubex-prev +oc policy add-role-to-user edit dev1 -n rubex-prev +oc policy add-role-to-user view test1 -n rubex-prev oc login -u admin -p admin oc new-project rubex-dev @@ -28,8 +28,15 @@ oc policy add-role-to-user view test1 -n rubex-dev oc login -u admin -p admin oc new-project rubex-test oc policy add-role-to-user edit test1 -n rubex-test +oc policy add-role-to-group system:image-puller system:serviceaccounts:rubex-prev -n rubex-dev oc policy add-role-to-group system:image-puller system:serviceaccounts:rubex-test -n rubex-dev +oc login -u admin -p admin +oc new-project cicd +oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-prev +oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-dev +oc policy add-role-to-user edit system:serviceaccount:cicd:jenkins -n rubex-test + oc login -u admin -p admin oc project cicd oc process \ From 92cc5721895c235c3b761d09b0c1a46dc9c0f143 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 12:45:33 +0100 Subject: [PATCH 236/239] Some renaming --- deployment/feature-build-pipeline.groovy | 6 +++--- deployment/preview-pipeline.groovy | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/deployment/feature-build-pipeline.groovy b/deployment/feature-build-pipeline.groovy index dd10ada..999d8a3 100644 --- a/deployment/feature-build-pipeline.groovy +++ b/deployment/feature-build-pipeline.groovy @@ -3,15 +3,15 @@ node() { stage("Checkout") { deleteDir() - git(url: "https://github.com/omallo/ruby-ex.git", branch: "${FEATURE_BRANCH}", credentialsId: "github-omallo") + git(url: "https://github.com/omallo/ruby-ex.git", branch: "${BRANCH}", credentialsId: "github-omallo") } stage("Build") { - def buildVersion = occd.getFeatureBuildVersion("${FEATURE_BRANCH}") + def buildVersion = occd.getFeatureBuildVersion("${BRANCH}") echo "versions: build=${buildVersion}" sh "sed -e 's/{{BUILD_VERSION}}/${buildVersion}/g' -i config.ru" - occd.build("rubex-dev", "frontend-${FEATURE_BRANCH}", "deployment/manifests/build.yaml", "${FEATURE_BRANCH}") + occd.build("rubex-dev", "frontend-${BRANCH}", "deployment/manifests/build.yaml", "${BRANCH}") } } diff --git a/deployment/preview-pipeline.groovy b/deployment/preview-pipeline.groovy index 7362c60..4491d9f 100644 --- a/deployment/preview-pipeline.groovy +++ b/deployment/preview-pipeline.groovy @@ -2,7 +2,7 @@ node() { stage("Deploy to PREV") { - occd.tag("rubex-dev", "frontend", "${SOURCE_IMAGE_STREAM_TAG}", "prev") + occd.tag("rubex-dev", "frontend", "b-${BRANCH}", "prev") occd.rollout("rubex-prev", "frontend", config.prev.deployment.frontend) } } From 5c4f4a750c6dae44f10e8ff07695fb76bc10fe07 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 12:53:14 +0100 Subject: [PATCH 237/239] Read the config --- deployment/preview-pipeline.groovy | 2 ++ 1 file changed, 2 insertions(+) diff --git a/deployment/preview-pipeline.groovy b/deployment/preview-pipeline.groovy index 4491d9f..bda3d5c 100644 --- a/deployment/preview-pipeline.groovy +++ b/deployment/preview-pipeline.groovy @@ -1,6 +1,8 @@ @Library('occd') _ node() { + def config = occd.parseConfig(readFile("deployment/config.yaml")) + stage("Deploy to PREV") { occd.tag("rubex-dev", "frontend", "b-${BRANCH}", "prev") occd.rollout("rubex-prev", "frontend", config.prev.deployment.frontend) From 553eb0045961fdae943ffad82d4d102e4967f73e Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 12:56:18 +0100 Subject: [PATCH 238/239] Checkout the code --- deployment/preview-pipeline.groovy | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/deployment/preview-pipeline.groovy b/deployment/preview-pipeline.groovy index bda3d5c..3225de4 100644 --- a/deployment/preview-pipeline.groovy +++ b/deployment/preview-pipeline.groovy @@ -1,6 +1,11 @@ @Library('occd') _ node() { + stage("Checkout") { + deleteDir() + git(url: "https://github.com/omallo/ruby-ex.git", branch: "${BRANCH}", credentialsId: "github-omallo") + } + def config = occd.parseConfig(readFile("deployment/config.yaml")) stage("Deploy to PREV") { From 902a81d23b38c0a0f00a461d963b5b01ac4555c7 Mon Sep 17 00:00:00 2001 From: Ovidio Mallo Date: Wed, 4 Jan 2017 21:34:16 +0100 Subject: [PATCH 239/239] Dummy commit --- config.ru | 1 - 1 file changed, 1 deletion(-) diff --git a/config.ru b/config.ru index f6175bf..92ea689 100755 --- a/config.ru +++ b/config.ru @@ -85,7 +85,6 @@ ul { display: table; /* 2 */ - } .container:after { clear: both;