1+ agentConfigImage = ' docker.io/controlplane/gcloud-sdk:latest'
2+ agentConfigArgs = ' -v /var/run/docker.sock:/var/run/docker.sock ' +
3+ ' --user=root ' +
4+ ' --cap-drop=ALL ' +
5+ ' --cap-add=DAC_OVERRIDE ' +
6+ ' --cap-add=CHOWN'
7+
8+ def getDockerImageTag () {
9+ if (env. GIT_COMMIT == " " ) {
10+ error " GIT_COMMIT value was empty at usage. "
11+ }
12+ return " ${ env.BUILD_ID} -${ env.GIT_COMMIT} "
13+ }
14+
115pipeline {
216 agent none
317
418 environment {
5- CONTAINER_TAG = ' latest '
19+ DOCKER_IMAGE_TAG = " ${ getDockerImageTag() } "
620 ENVIRONMENT = ' ops'
721 GIT_CREDENTIALS = " ssh-key-jenkins-bot"
822 }
@@ -14,31 +28,24 @@ pipeline {
1428 // defines the "agent" aka "jenkins slave"
1529 agent {
1630 docker {
17- // always run in this image, it's got latest kubectl and is based from a google-managed image
18- image ' docker.io/controlplane/gcloud-sdk:latest'
19- args ' -v /var/run/docker.sock:/var/run/docker.sock ' +
20- ' --user=root ' +
21- ' --cap-drop=ALL ' +
22- ' --cap-add=DAC_OVERRIDE'
31+ image agentConfigImage
32+ args agentConfigArgs
2333 }
2434 }
2535
2636 // here is the actual build for this stage
2737 steps {
2838 ansiColor(' xterm' ) {
29- sh ' make build CONTAINER_TAG="${CONTAINER_TAG }"'
39+ sh ' make build CONTAINER_TAG="${DOCKER_IMAGE_TAG }"'
3040 }
3141 }
3242 }
3343
3444 stage(' Test - host: localhost' ) {
3545 agent {
3646 docker {
37- image ' docker.io/controlplane/gcloud-sdk:latest'
38- args ' -v /var/run/docker.sock:/var/run/docker.sock ' +
39- ' --user=root ' +
40- ' --cap-drop=ALL ' +
41- ' --cap-add=DAC_OVERRIDE'
47+ image agentConfigImage
48+ args agentConfigArgs
4249 }
4350 }
4451
@@ -63,11 +70,8 @@ pipeline {
6370 stage(' Test - k8s: GKE' ) {
6471 agent {
6572 docker {
66- image ' docker.io/controlplane/gcloud-sdk:latest'
67- args ' -v /var/run/docker.sock:/var/run/docker.sock ' +
68- ' --user=root ' +
69- ' --cap-drop=ALL ' +
70- ' --cap-add=DAC_OVERRIDE'
73+ image agentConfigImage
74+ args agentConfigArgs
7175 }
7276 }
7377
@@ -84,8 +88,9 @@ pipeline {
8488
8589 steps {
8690 ansiColor(' xterm' ) {
87- sh """
91+ sh """ #!/bin/bash
8892 set -euxo pipefail
93+
8994 EXIT_CODE=0
9095
9196 make cluster
@@ -105,11 +110,8 @@ pipeline {
105110 stage(' Push' ) {
106111 agent {
107112 docker {
108- image ' docker.io/controlplane/gcloud-sdk:latest'
109- args ' -v /var/run/docker.sock:/var/run/docker.sock ' +
110- ' --user=root ' +
111- ' --cap-drop=ALL ' +
112- ' --cap-add=DAC_OVERRIDE'
113+ image agentConfigImage
114+ args agentConfigArgs
113115 }
114116 }
115117
@@ -125,7 +127,7 @@ pipeline {
125127 --username '${ DOCKER_REGISTRY_CREDENTIALS_USR} ' \
126128 --password-stdin
127129
128- make push CONTAINER_TAG='${ CONTAINER_TAG } '
130+ make push CONTAINER_TAG='${ DOCKER_IMAGE_TAG } '
129131 """
130132 }
131133 }
0 commit comments