From e5d08c4d19ae6b60ad027e30efa5e790d7676663 Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 16:50:11 +0100 Subject: [PATCH 01/19] dokerimg --- src/is/sudo/jenkins/Utils.groovy | 28 ++++++++++++++++++ vars/dockerimg.groovy | 49 ++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 src/is/sudo/jenkins/Utils.groovy create mode 100644 vars/dockerimg.groovy diff --git a/src/is/sudo/jenkins/Utils.groovy b/src/is/sudo/jenkins/Utils.groovy new file mode 100644 index 0000000..23c81f5 --- /dev/null +++ b/src/is/sudo/jenkins/Utils.groovy @@ -0,0 +1,28 @@ +package is.sudo.jenkins + +import com.cloudbees.groovy.cps.NonCPS + +class Utils { + @NonCPS + static String default_or_value(String value, String default) { + if (value == null) { + return default + } + return value + } + + @NonCPS + static String dockerhub_account(String account) { + if (account == null) { + return "benediktkr" + } + return account + } + + @NonCPS + static String docker_image_name(String project, String account) + { + def acc = Utils.dockerhub_account(account) + return "${acc}/${project}" + } +} diff --git a/vars/dockerimg.groovy b/vars/dockerimg.groovy new file mode 100644 index 0000000..61ec030 --- /dev/null +++ b/vars/dockerimg.groovy @@ -0,0 +1,49 @@ +import is.sudo.jenkins.Utils + +def call(Map config) { + + String name = "${env.JOB_NAME.split('/')[1]}" + + pipeline { + agent any + + triggers { + cron config.cron + } + options { + timestamps() + ansiColor("xterm") + disableConcurrentBuilds() + } + + environment { + DOCKER_NAME=Utils.docker_image_name(name, config.tag, null) + DOCKER_TAG=Utils.deafult_or_value(config.tag, "latest") + } + stages { + + stage('build') { + steps { + sh "docker build -t ${DOCKER_NAME}:${DOCKER_TAG} ." + } + } + + stage('push') { + steps { + sh "echo docker push ${DOCKER_NAME}:${TAG}" + } + } + + stage('push version tag') { + when { + tag "v*" + } + steps { + sh "echo docker tag ${DOCKER_NAME}:${DOCKER_TAG} ${DOCKER_NAME}:${TAG_NAME}" + sh "echo docker push ${DOCKER_NAME}:${TAG_NAME}" + } + } + + } + } +} -- 2.40.1 From ee06fd0c8b375e826fc89c2558289bd3f23f041a Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 16:54:23 +0100 Subject: [PATCH 02/19] reserved word? --- src/is/sudo/jenkins/Utils.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/is/sudo/jenkins/Utils.groovy b/src/is/sudo/jenkins/Utils.groovy index 23c81f5..dd527fc 100644 --- a/src/is/sudo/jenkins/Utils.groovy +++ b/src/is/sudo/jenkins/Utils.groovy @@ -4,9 +4,9 @@ import com.cloudbees.groovy.cps.NonCPS class Utils { @NonCPS - static String default_or_value(String value, String default) { + static String default_or_value(String value, String defval) { if (value == null) { - return default + return defval } return value } -- 2.40.1 From 854956d014195b9717ca7bb1d69087c97cbb5c41 Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 16:55:30 +0100 Subject: [PATCH 03/19] typo --- vars/dockerimg.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/dockerimg.groovy b/vars/dockerimg.groovy index 61ec030..8170f3e 100644 --- a/vars/dockerimg.groovy +++ b/vars/dockerimg.groovy @@ -18,7 +18,7 @@ def call(Map config) { environment { DOCKER_NAME=Utils.docker_image_name(name, config.tag, null) - DOCKER_TAG=Utils.deafult_or_value(config.tag, "latest") + DOCKER_TAG=Utils.default_or_value(config.tag, "latest") } stages { -- 2.40.1 From 1b52b637a676c78aa880c41d99d4894bee061d22 Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 16:56:21 +0100 Subject: [PATCH 04/19] remove arg --- vars/dockerimg.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/dockerimg.groovy b/vars/dockerimg.groovy index 8170f3e..7d9ca84 100644 --- a/vars/dockerimg.groovy +++ b/vars/dockerimg.groovy @@ -17,7 +17,7 @@ def call(Map config) { } environment { - DOCKER_NAME=Utils.docker_image_name(name, config.tag, null) + DOCKER_NAME=Utils.docker_image_name(name, config.tag) DOCKER_TAG=Utils.default_or_value(config.tag, "latest") } stages { -- 2.40.1 From 4e78aa3c831337a28f4f8e586a887707d61e421b Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 16:58:05 +0100 Subject: [PATCH 05/19] typo --- vars/dockerimg.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/dockerimg.groovy b/vars/dockerimg.groovy index 7d9ca84..6fa71f6 100644 --- a/vars/dockerimg.groovy +++ b/vars/dockerimg.groovy @@ -30,7 +30,7 @@ def call(Map config) { stage('push') { steps { - sh "echo docker push ${DOCKER_NAME}:${TAG}" + sh "echo docker push ${DOCKER_NAME}:${DOCKER_TAG}" } } -- 2.40.1 From 3f9ff8099215e210139f0af34c09ed950ee9e10e Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 17:01:17 +0100 Subject: [PATCH 06/19] overload for default dockerhub name --- src/is/sudo/jenkins/Utils.groovy | 8 ++++++-- vars/dockerimg.groovy | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/is/sudo/jenkins/Utils.groovy b/src/is/sudo/jenkins/Utils.groovy index dd527fc..6e9dd7b 100644 --- a/src/is/sudo/jenkins/Utils.groovy +++ b/src/is/sudo/jenkins/Utils.groovy @@ -20,8 +20,12 @@ class Utils { } @NonCPS - static String docker_image_name(String project, String account) - { + static String docker_image_name(String project) { + return Utils.docker_image_name(project, null) + } + + @NonCPS + static String docker_image_name(String project, String account) { def acc = Utils.dockerhub_account(account) return "${acc}/${project}" } diff --git a/vars/dockerimg.groovy b/vars/dockerimg.groovy index 6fa71f6..2322453 100644 --- a/vars/dockerimg.groovy +++ b/vars/dockerimg.groovy @@ -24,6 +24,7 @@ def call(Map config) { stage('build') { steps { + sh "echo ${DOCKER_NAME}" sh "docker build -t ${DOCKER_NAME}:${DOCKER_TAG} ." } } -- 2.40.1 From c61192885c4153afe552293a44c1a4623a7c9210 Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 17:02:15 +0100 Subject: [PATCH 07/19] typo --- vars/dockerimg.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/dockerimg.groovy b/vars/dockerimg.groovy index 2322453..84e7d63 100644 --- a/vars/dockerimg.groovy +++ b/vars/dockerimg.groovy @@ -17,7 +17,7 @@ def call(Map config) { } environment { - DOCKER_NAME=Utils.docker_image_name(name, config.tag) + DOCKER_NAME=Utils.docker_image_name(name) DOCKER_TAG=Utils.default_or_value(config.tag, "latest") } stages { -- 2.40.1 From 379130e299eb3c88a1d0d731b4e3003a0856b63d Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 17:06:46 +0100 Subject: [PATCH 08/19] remove -docker postfix --- src/is/sudo/jenkins/Utils.groovy | 11 +++++++++-- vars/dockerimg.groovy | 4 ++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/is/sudo/jenkins/Utils.groovy b/src/is/sudo/jenkins/Utils.groovy index 6e9dd7b..3e2c255 100644 --- a/src/is/sudo/jenkins/Utils.groovy +++ b/src/is/sudo/jenkins/Utils.groovy @@ -25,8 +25,15 @@ class Utils { } @NonCPS - static String docker_image_name(String project, String account) { + static String docker_image_name(String repo, String account) { + if (repo.endswith("-docker")) { + def name = repo.substr(0, repo.indexOf("-docker")) + } + else { + def name = repo + } + def acc = Utils.dockerhub_account(account) - return "${acc}/${project}" + return "${acc}/${name}" } } diff --git a/vars/dockerimg.groovy b/vars/dockerimg.groovy index 84e7d63..9dadbf9 100644 --- a/vars/dockerimg.groovy +++ b/vars/dockerimg.groovy @@ -2,7 +2,7 @@ import is.sudo.jenkins.Utils def call(Map config) { - String name = "${env.JOB_NAME.split('/')[1]}" + String repo = "${env.JOB_NAME.split('/')[1]}" pipeline { agent any @@ -17,7 +17,7 @@ def call(Map config) { } environment { - DOCKER_NAME=Utils.docker_image_name(name) + DOCKER_NAME=Utils.docker_image_name(repo) DOCKER_TAG=Utils.default_or_value(config.tag, "latest") } stages { -- 2.40.1 From d96db1702e716634638c4d0a3dc4c6a6d79d803b Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 17:07:39 +0100 Subject: [PATCH 09/19] reserved name again? --- src/is/sudo/jenkins/.#Utils.groovy | 1 + 1 file changed, 1 insertion(+) create mode 120000 src/is/sudo/jenkins/.#Utils.groovy diff --git a/src/is/sudo/jenkins/.#Utils.groovy b/src/is/sudo/jenkins/.#Utils.groovy new file mode 120000 index 0000000..77bcd20 --- /dev/null +++ b/src/is/sudo/jenkins/.#Utils.groovy @@ -0,0 +1 @@ +ben@mainframe.sudo.is.2349002:1606551892 \ No newline at end of file -- 2.40.1 From 23a2330771d0af51ee2905e3b2bf89ab169a3965 Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 17:08:51 +0100 Subject: [PATCH 10/19] gitignore --- .gitignore | 2 ++ src/is/sudo/jenkins/.#Utils.groovy | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 .gitignore delete mode 120000 src/is/sudo/jenkins/.#Utils.groovy diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9224321 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.#* +.\#* diff --git a/src/is/sudo/jenkins/.#Utils.groovy b/src/is/sudo/jenkins/.#Utils.groovy deleted file mode 120000 index 77bcd20..0000000 --- a/src/is/sudo/jenkins/.#Utils.groovy +++ /dev/null @@ -1 +0,0 @@ -ben@mainframe.sudo.is.2349002:1606551892 \ No newline at end of file -- 2.40.1 From cdb03cbed1b0a93290af31f43226cc40f511dbd4 Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 17:09:30 +0100 Subject: [PATCH 11/19] typo --- src/is/sudo/jenkins/Utils.groovy | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/is/sudo/jenkins/Utils.groovy b/src/is/sudo/jenkins/Utils.groovy index 3e2c255..db252dd 100644 --- a/src/is/sudo/jenkins/Utils.groovy +++ b/src/is/sudo/jenkins/Utils.groovy @@ -27,13 +27,13 @@ class Utils { @NonCPS static String docker_image_name(String repo, String account) { if (repo.endswith("-docker")) { - def name = repo.substr(0, repo.indexOf("-docker")) + def imgname = repo.substr(0, repo.indexOf("-docker")) } else { - def name = repo + def imgname = repo } def acc = Utils.dockerhub_account(account) - return "${acc}/${name}" + return "${acc}/${imgname}" } } -- 2.40.1 From 10ec3638df540938fdaed230346cf2a021d21d2b Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 17:10:16 +0100 Subject: [PATCH 12/19] test --- src/is/sudo/jenkins/Utils.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/is/sudo/jenkins/Utils.groovy b/src/is/sudo/jenkins/Utils.groovy index db252dd..6d7ce9e 100644 --- a/src/is/sudo/jenkins/Utils.groovy +++ b/src/is/sudo/jenkins/Utils.groovy @@ -27,10 +27,10 @@ class Utils { @NonCPS static String docker_image_name(String repo, String account) { if (repo.endswith("-docker")) { - def imgname = repo.substr(0, repo.indexOf("-docker")) + String imgname = repo.substr(0, repo.indexOf("-docker")) } else { - def imgname = repo + String imgname = repo } def acc = Utils.dockerhub_account(account) -- 2.40.1 From 532c1765ad391f1e9e4944487fd7e4a66b2a8fa9 Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 17:12:11 +0100 Subject: [PATCH 13/19] wtf --- src/is/sudo/jenkins/Utils.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/is/sudo/jenkins/Utils.groovy b/src/is/sudo/jenkins/Utils.groovy index 6d7ce9e..940d238 100644 --- a/src/is/sudo/jenkins/Utils.groovy +++ b/src/is/sudo/jenkins/Utils.groovy @@ -27,10 +27,10 @@ class Utils { @NonCPS static String docker_image_name(String repo, String account) { if (repo.endswith("-docker")) { - String imgname = repo.substr(0, repo.indexOf("-docker")) + static String imgname = repo.substr(0, repo.indexOf("-docker")) } else { - String imgname = repo + static String imgname = repo } def acc = Utils.dockerhub_account(account) -- 2.40.1 From 1c96f2b709969346474e26c5782438a0ed460fb5 Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 17:13:24 +0100 Subject: [PATCH 14/19] wtf --- src/is/sudo/jenkins/Utils.groovy | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/is/sudo/jenkins/Utils.groovy b/src/is/sudo/jenkins/Utils.groovy index 940d238..cb0c3a6 100644 --- a/src/is/sudo/jenkins/Utils.groovy +++ b/src/is/sudo/jenkins/Utils.groovy @@ -25,14 +25,17 @@ class Utils { } @NonCPS - static String docker_image_name(String repo, String account) { + static String trim_docker_postfix(String repo) { if (repo.endswith("-docker")) { - static String imgname = repo.substr(0, repo.indexOf("-docker")) - } - else { - static String imgname = repo + return repo.substr(0, repo.indexOf("-docker")) } + return repo + } + @NonCPS + static String docker_image_name(String repo, String account) { + + def imgname = Utils.trim_docker_postfix(repo) def acc = Utils.dockerhub_account(account) return "${acc}/${imgname}" } -- 2.40.1 From a09d72e44c6fda6930a325af7c5b32d206f9d34e Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 17:14:27 +0100 Subject: [PATCH 15/19] fucking java camel case bullshit --- src/is/sudo/jenkins/Utils.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/is/sudo/jenkins/Utils.groovy b/src/is/sudo/jenkins/Utils.groovy index cb0c3a6..5a4a937 100644 --- a/src/is/sudo/jenkins/Utils.groovy +++ b/src/is/sudo/jenkins/Utils.groovy @@ -26,7 +26,7 @@ class Utils { @NonCPS static String trim_docker_postfix(String repo) { - if (repo.endswith("-docker")) { + if (repo.endsWith("-docker")) { return repo.substr(0, repo.indexOf("-docker")) } return repo -- 2.40.1 From 161ad59d7024d033e749dab79ee826795edf6a90 Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 17:15:56 +0100 Subject: [PATCH 16/19] wtfffff --- src/is/sudo/jenkins/Utils.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/is/sudo/jenkins/Utils.groovy b/src/is/sudo/jenkins/Utils.groovy index 5a4a937..1c74002 100644 --- a/src/is/sudo/jenkins/Utils.groovy +++ b/src/is/sudo/jenkins/Utils.groovy @@ -27,7 +27,7 @@ class Utils { @NonCPS static String trim_docker_postfix(String repo) { if (repo.endsWith("-docker")) { - return repo.substr(0, repo.indexOf("-docker")) + return repo.subString(0, repo.indexOf("-docker")) } return repo } -- 2.40.1 From 9f9333a60b77fbfa14cb5d4709de20b3d825560c Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 17:17:00 +0100 Subject: [PATCH 17/19] jesus fucking christ --- src/is/sudo/jenkins/Utils.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/is/sudo/jenkins/Utils.groovy b/src/is/sudo/jenkins/Utils.groovy index 1c74002..8ace87e 100644 --- a/src/is/sudo/jenkins/Utils.groovy +++ b/src/is/sudo/jenkins/Utils.groovy @@ -27,7 +27,7 @@ class Utils { @NonCPS static String trim_docker_postfix(String repo) { if (repo.endsWith("-docker")) { - return repo.subString(0, repo.indexOf("-docker")) + return repo.substring(0, repo.indexOf("-docker")) } return repo } -- 2.40.1 From 13e9dd785ad548c14fb740b0065f1845ea929c3a Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 17:20:55 +0100 Subject: [PATCH 18/19] handle no cron --- vars/dockerimg.groovy | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vars/dockerimg.groovy b/vars/dockerimg.groovy index 9dadbf9..dda4b33 100644 --- a/vars/dockerimg.groovy +++ b/vars/dockerimg.groovy @@ -3,12 +3,13 @@ import is.sudo.jenkins.Utils def call(Map config) { String repo = "${env.JOB_NAME.split('/')[1]}" + String crontab = Utils.default_or_value(config.cron, "") pipeline { agent any triggers { - cron config.cron + cron crontab } options { timestamps() -- 2.40.1 From 24dddc85bd6da22b8072a7b4f4a2b03f87cf94c0 Mon Sep 17 00:00:00 2001 From: Benedikt Kristinsson Date: Tue, 9 Feb 2021 17:22:36 +0100 Subject: [PATCH 19/19] enable shit --- vars/dockerimg.groovy | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/vars/dockerimg.groovy b/vars/dockerimg.groovy index dda4b33..e69771f 100644 --- a/vars/dockerimg.groovy +++ b/vars/dockerimg.groovy @@ -25,14 +25,13 @@ def call(Map config) { stage('build') { steps { - sh "echo ${DOCKER_NAME}" sh "docker build -t ${DOCKER_NAME}:${DOCKER_TAG} ." } } stage('push') { steps { - sh "echo docker push ${DOCKER_NAME}:${DOCKER_TAG}" + sh "docker push ${DOCKER_NAME}:${DOCKER_TAG}" } } @@ -41,8 +40,8 @@ def call(Map config) { tag "v*" } steps { - sh "echo docker tag ${DOCKER_NAME}:${DOCKER_TAG} ${DOCKER_NAME}:${TAG_NAME}" - sh "echo docker push ${DOCKER_NAME}:${TAG_NAME}" + sh "docker tag ${DOCKER_NAME}:${DOCKER_TAG} ${DOCKER_NAME}:${TAG_NAME}" + sh "docker push ${DOCKER_NAME}:${TAG_NAME}" } } -- 2.40.1