From 87002391d46e78fdfc012a0a71cf2e1c7faba48b Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 13 Nov 2019 13:44:00 -0500 Subject: [PATCH 01/73] Initial test of Jenkinsfile --- Jenkinsfile | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 930c8ea4d..cee276da4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -142,6 +142,27 @@ spec: } } } - + stage('Test') { + when { + branch "test" + } + steps { + repo = "dcc-snapshot" + rtUpload ( + serverId: 'artifactory-test', + spec: '''{ + "files": [ + { + "pattern": "song-client/target/*.tar.gz", + "target": "$repo/bio-overture/song-client/$version-SNAPSHOT/song-client-$version-dist.tar.gz" + }, + { + "pattern": "song-client/target/*-exec.jar", + "target": "$repo/bio-overture/song-client/$version-SNAPSHOT/song-client-$version.jar" + ] + }''' + ) + } + } } } From a80203934cd32c9bd3f81a9c3527d1a0d6f26590 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 13 Nov 2019 13:51:23 -0500 Subject: [PATCH 02/73] Added a file to trigger a change when we commit this to the test branch (hopefully will deploy our artifact!) --- trigger_a_change.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 trigger_a_change.txt diff --git a/trigger_a_change.txt b/trigger_a_change.txt new file mode 100644 index 000000000..d00491fd7 --- /dev/null +++ b/trigger_a_change.txt @@ -0,0 +1 @@ +1 From 1397a8161a66b8d21cafea7a46c9ef8ee33f44de Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 13 Nov 2019 13:57:10 -0500 Subject: [PATCH 03/73] Bugfix: Renamed second test stage to 'Test Artifactory' --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index cee276da4..71176891f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -142,7 +142,7 @@ spec: } } } - stage('Test') { + stage('Test Artifactory') { when { branch "test" } From 30306477a4850b716ac571535ec4a02eec286898 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 13 Nov 2019 14:09:38 -0500 Subject: [PATCH 04/73] Bugfix: Added "def" to definition --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 71176891f..e019b3ecd 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -147,7 +147,7 @@ spec: branch "test" } steps { - repo = "dcc-snapshot" + def repo = "dcc-snapshot" rtUpload ( serverId: 'artifactory-test', spec: '''{ From d1a5ea3dfcf75cc9df26eb96cfa4e40803083792 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 13 Nov 2019 14:48:52 -0500 Subject: [PATCH 05/73] Bugfix: Removed repo variable --- Jenkinsfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index e019b3ecd..b80b78a1a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -147,14 +147,13 @@ spec: branch "test" } steps { - def repo = "dcc-snapshot" rtUpload ( serverId: 'artifactory-test', spec: '''{ "files": [ { "pattern": "song-client/target/*.tar.gz", - "target": "$repo/bio-overture/song-client/$version-SNAPSHOT/song-client-$version-dist.tar.gz" + "target": "dcc-snapshot/bio-overture/song-client/$version-SNAPSHOT/song-client-$version-dist.tar.gz" }, { "pattern": "song-client/target/*-exec.jar", From d058da2fcd3ed145b96c465189d1e81eb3ea7688 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 13 Nov 2019 14:57:40 -0500 Subject: [PATCH 06/73] closer to right --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index b80b78a1a..098965566 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -153,11 +153,11 @@ spec: "files": [ { "pattern": "song-client/target/*.tar.gz", - "target": "dcc-snapshot/bio-overture/song-client/$version-SNAPSHOT/song-client-$version-dist.tar.gz" + "target": "dcc-release/bio/overture/song-client/$version-SNAPSHOT/song-client-$version-dist.tar.gz" }, { "pattern": "song-client/target/*-exec.jar", - "target": "$repo/bio-overture/song-client/$version-SNAPSHOT/song-client-$version.jar" + "target": "dcc-release/bio-overture/song-client/$version-SNAPSHOT/song-client-$version.jar" ] }''' ) From b647e9924b2535fe7dd0c30c1c4cb482d6696798 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 13 Nov 2019 18:20:04 -0500 Subject: [PATCH 07/73] Bugfix: Fixed missing paren in Jenkinsfile Bugfix: Removed the "trigger a change" field --- Jenkinsfile | 3 ++- trigger_a_change.txt | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 trigger_a_change.txt diff --git a/Jenkinsfile b/Jenkinsfile index 098965566..06455dc15 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -158,9 +158,10 @@ spec: { "pattern": "song-client/target/*-exec.jar", "target": "dcc-release/bio-overture/song-client/$version-SNAPSHOT/song-client-$version.jar" + } ] }''' - ) + ) } } } diff --git a/trigger_a_change.txt b/trigger_a_change.txt deleted file mode 100644 index d00491fd7..000000000 --- a/trigger_a_change.txt +++ /dev/null @@ -1 +0,0 @@ -1 From aa0d93f4e70c0afd3e2d05191b9082c991877527 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 13 Nov 2019 18:32:56 -0500 Subject: [PATCH 08/73] NewIdea: Speed up development by removing everything except the artifactory stuff from the Jenkinsfile, then put the old code back in as required. --- Jenkinsfile | 84 +---------------------------------------------------- 1 file changed, 1 insertion(+), 83 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 06455dc15..4a6f912e3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -58,94 +58,12 @@ spec: stage('Test') { steps { container('jdk') { - sh "./mvnw test" - } - } - } - stage('Build & Publish Develop') { - when { - branch "develop" - } - steps { - container('docker') { - withCredentials([usernamePassword(credentialsId:'OvertureDockerHub', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) { - sh 'docker login -u $USERNAME -p $PASSWORD' - } - sh "docker build --target=server --network=host -f Dockerfile . -t overture/song-server:edge -t overture/song-server:${commit}" - sh "docker build --target=client --network=host -f Dockerfile . -t overture/song-client:edge -t overture/song-client:${commit}" - sh "docker push overture/song-server:${commit}" - sh "docker push overture/song-server:edge" - sh "docker push overture/song-client:${commit}" - sh "docker push overture/song-client:edge" - } - } - } - stage('Release & tag') { - when { - branch "master" - } - steps { - container('docker') { - withCredentials([usernamePassword(credentialsId: 'OvertureBioGithub', passwordVariable: 'GIT_PASSWORD', usernameVariable: 'GIT_USERNAME')]) { - sh "git tag ${version}" - sh "git push https://${GIT_USERNAME}:${GIT_PASSWORD}@github.com/overture-stack/song --tags" - } - withCredentials([usernamePassword(credentialsId:'OvertureDockerHub', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) { - sh 'docker login -u $USERNAME -p $PASSWORD' - } - sh "docker build --target=server --network=host -f Dockerfile . -t overture/song-server:latest -t overture/song-server:${version}" - sh "docker build --target=client --network=host -f Dockerfile . -t overture/song-client:latest -t overture/song-client:${version}" - sh "docker push overture/song-server:${version}" - sh "docker push overture/song-server:latest" - sh "docker push overture/song-client:${version}" - sh "docker push overture/song-client:latest" - } - } - } - - stage('Deploy to Overture QA') { - when { - branch "develop" - } - steps { - container('helm') { - withCredentials([file(credentialsId:'4ed1e45c-b552-466b-8f86-729402993e3b', variable: 'KUBECONFIG')]) { - sh 'env' - sh 'helm init --client-only' - sh "helm ls --kubeconfig $KUBECONFIG" - sh "helm repo add overture https://overture-stack.github.io/charts-server/" - sh """ - helm upgrade --kubeconfig $KUBECONFIG --install --namespace=overture-qa song-overture-qa \\ - overture/song --reuse-values --set-string image.tag=${commit} - """ - } + sh "./mvnw package -DskipTests " } } } - stage('Deploy to Overture Staging') { - when { - branch "master" - } - steps { - container('helm') { - withCredentials([file(credentialsId:'4ed1e45c-b552-466b-8f86-729402993e3b', variable: 'KUBECONFIG')]) { - sh 'env' - sh 'helm init --client-only' - sh "helm ls --kubeconfig $KUBECONFIG" - sh "helm repo add overture https://overture-stack.github.io/charts-server/" - sh """ - helm upgrade --kubeconfig $KUBECONFIG --install --namespace=overture-staging song-overture-staging \\ - overture/song --reuse-values --set-string image.tag=${version} - """ - } - } - } - } stage('Test Artifactory') { - when { - branch "test" - } steps { rtUpload ( serverId: 'artifactory-test', From b17fe7fb4a925d3433c863aa194275852308bd78 Mon Sep 17 00:00:00 2001 From: khartmann Date: Mon, 18 Nov 2019 16:41:24 -0500 Subject: [PATCH 09/73] Bugfix: Name of artifactory server id is "artifactory" --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 4a6f912e3..1333c3a87 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -66,7 +66,7 @@ spec: stage('Test Artifactory') { steps { rtUpload ( - serverId: 'artifactory-test', + serverId: 'artifactory', spec: '''{ "files": [ { From 77f334876fdf0ae01c0e7fa4f88b28cc05b90787 Mon Sep 17 00:00:00 2001 From: khartmann Date: Mon, 18 Nov 2019 16:58:05 -0500 Subject: [PATCH 10/73] Bugfix: Groovy uses "${var}", not "$var" to interpolate strings. --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1333c3a87..b52d74060 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -71,11 +71,11 @@ spec: "files": [ { "pattern": "song-client/target/*.tar.gz", - "target": "dcc-release/bio/overture/song-client/$version-SNAPSHOT/song-client-$version-dist.tar.gz" + "target": "dcc-release/bio/overture/song-client/${version}/song-client-${version}-dist.tar.gz" }, { "pattern": "song-client/target/*-exec.jar", - "target": "dcc-release/bio-overture/song-client/$version-SNAPSHOT/song-client-$version.jar" + "target": "dcc-release/bio/overture/song-client/${version}/song-client-${version}.jar" } ] }''' From 4a6cb00ecf079cba905f74e0b6e4e4337ab07058 Mon Sep 17 00:00:00 2001 From: khartmann Date: Mon, 18 Nov 2019 17:09:45 -0500 Subject: [PATCH 11/73] Testing whether putting the targets into variables will help anything --- Jenkinsfile | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index b52d74060..9d08c44ac 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,5 +1,7 @@ def commit = "UNKNOWN" def version = "UNKNOWN" +def t1 = "UNKNOWN" +def t2 = "UNKNOWN" pipeline { agent { @@ -65,17 +67,21 @@ spec: stage('Test Artifactory') { steps { + script { + t1 = "dcc-release/bio/overture/song-client/${version}/song-client-${version}-dist.tar.gz" + t2 = "dcc-release/bio/overture/song-client/${version}/song-client-${version}.jar" + } rtUpload ( serverId: 'artifactory', spec: '''{ "files": [ { "pattern": "song-client/target/*.tar.gz", - "target": "dcc-release/bio/overture/song-client/${version}/song-client-${version}-dist.tar.gz" + "target": t1 }, { "pattern": "song-client/target/*-exec.jar", - "target": "dcc-release/bio/overture/song-client/${version}/song-client-${version}.jar" + "target": t2 } ] }''' From 07f6118030aa6873476b43cccd6d1dcb2c529cf1 Mon Sep 17 00:00:00 2001 From: khartmann Date: Mon, 18 Nov 2019 17:29:13 -0500 Subject: [PATCH 12/73] Bugfix: Groovy single quoted strings don't interpolate! --- Jenkinsfile | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 9d08c44ac..a066a3dbc 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -65,7 +65,7 @@ spec: } } - stage('Test Artifactory') { + stage('Upload Artifacts to Artifactory') { steps { script { t1 = "dcc-release/bio/overture/song-client/${version}/song-client-${version}-dist.tar.gz" @@ -73,18 +73,19 @@ spec: } rtUpload ( serverId: 'artifactory', - spec: '''{ - "files": [ + spec: """"{ + \"files\": [ { - "pattern": "song-client/target/*.tar.gz", - "target": t1 + \"pattern\": \"song-client/target/*.tar.gz\", + \"target\": ${t1} }, - { - "pattern": "song-client/target/*-exec.jar", - "target": t2 - } + { + \"pattern\": \"song-client/target/*-exec.jar\", + \"target\": ${t2} + } ] - }''' + } + """ ) } } From 80a8409cc7ccb7c06f534631d6f281fc7b3eb1ee Mon Sep 17 00:00:00 2001 From: khartmann Date: Mon, 18 Nov 2019 17:49:00 -0500 Subject: [PATCH 13/73] Test: See if this pattern works --- Jenkinsfile | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index a066a3dbc..08527f026 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -68,24 +68,21 @@ spec: stage('Upload Artifacts to Artifactory') { steps { script { - t1 = "dcc-release/bio/overture/song-client/${version}/song-client-${version}-dist.tar.gz" - t2 = "dcc-release/bio/overture/song-client/${version}/song-client-${version}.jar" + t1 = "dcc-release/bio/overture/song-client/${version}/song-client-test-${version}-dist.tar.gz" + t2 = "dcc-release/bio/overture/song-client/${version}/song-client-test-${version}.jar" } - rtUpload ( - serverId: 'artifactory', - spec: """"{ - \"files\": [ - { - \"pattern\": \"song-client/target/*.tar.gz\", - \"target\": ${t1} - }, - { - \"pattern\": \"song-client/target/*-exec.jar\", - \"target\": ${t2} - } - ] - } - """ + rtUpload ( serverId: 'artifactory', + spec: """"{ \"files\": [ { + \"pattern\": \"song-client/target/*.tar.gz\", + \"target\": ${t1} + }, + { + \"pattern\": \"song-client/target/*-exec.jar\", + \"target\": ${t2} + } + ] + } + """ ) } } From f433648a3a9abf7035796755acf80b058260b03f Mon Sep 17 00:00:00 2001 From: khartmann Date: Mon, 18 Nov 2019 18:11:25 -0500 Subject: [PATCH 14/73] Fixed JSON in spec (I hope) --- Jenkinsfile | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 08527f026..09ad4a5d1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,6 +2,8 @@ def commit = "UNKNOWN" def version = "UNKNOWN" def t1 = "UNKNOWN" def t2 = "UNKNOWN" +def t3 = "UNKNOWN" +def t4 = "UNKNOWN" pipeline { agent { @@ -68,18 +70,25 @@ spec: stage('Upload Artifacts to Artifactory') { steps { script { - t1 = "dcc-release/bio/overture/song-client/${version}/song-client-test-${version}-dist.tar.gz" - t2 = "dcc-release/bio/overture/song-client/${version}/song-client-test-${version}.jar" + t1 = "dcc-release/bio/overture/song-client/${version}/song-client-test-${version}-dist.tar.gz" + t2 = "dcc-release/bio/overture/song-client/${version}/song-client-test-${version}.jar" + t3 = "dcc-release/bio/overture/song-server/${version}/song-server-test-${version}-dist.tar.gz" + t4 = "" } rtUpload ( serverId: 'artifactory', - spec: """"{ \"files\": [ { + spec: """"{ + \"files\": [ + { \"pattern\": \"song-client/target/*.tar.gz\", - \"target\": ${t1} - }, - { + \"target\": \"${t1}\" + }, + { \"pattern\": \"song-client/target/*-exec.jar\", - \"target\": ${t2} - } + \"target\": \"${t2}\" + }, + { \"pattern\": \"song-server/target/*.tar.gz\", + \"target\": \"${t3}\" + } ] } """ From e348603ae50fd989853486d3c31f43995b73d9d8 Mon Sep 17 00:00:00 2001 From: khartmann Date: Mon, 18 Nov 2019 18:30:55 -0500 Subject: [PATCH 15/73] - Changed pom version to 0.0.0 so we can clean up after these tests later. - Updated Jenkins file to remove leading quote (had 4 quotes, not 3 at start) --- Jenkinsfile | 4 ++-- pom.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 09ad4a5d1..73ce32b78 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -76,8 +76,8 @@ spec: t4 = "" } rtUpload ( serverId: 'artifactory', - spec: """"{ - \"files\": [ + spec: """{ + \"files\": [ { \"pattern\": \"song-client/target/*.tar.gz\", \"target\": \"${t1}\" diff --git a/pom.xml b/pom.xml index b58280663..dad6037ad 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ bio.overture song pom - 2.2.0 + 0.0.0 song-core song-java-sdk From 4f15e459f333317945e8771a6894fd925f9ed609 Mon Sep 17 00:00:00 2001 From: khartmann Date: Mon, 18 Nov 2019 18:35:34 -0500 Subject: [PATCH 16/73] Bugfix: Can't modify pom version number because it's used as a build artifact --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index dad6037ad..b58280663 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ bio.overture song pom - 0.0.0 + 2.2.0 song-core song-java-sdk From cac439e61e7a522a484c51b3631337dd590f6ebc Mon Sep 17 00:00:00 2001 From: khartmann Date: Mon, 18 Nov 2019 18:51:37 -0500 Subject: [PATCH 17/73] Bugfix: Now print out the filespec we're trying to upload, so we can see if it's remotely correct. --- Jenkinsfile | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 73ce32b78..202a3ab78 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -70,13 +70,11 @@ spec: stage('Upload Artifacts to Artifactory') { steps { script { - t1 = "dcc-release/bio/overture/song-client/${version}/song-client-test-${version}-dist.tar.gz" - t2 = "dcc-release/bio/overture/song-client/${version}/song-client-test-${version}.jar" + t1 = "dcc-release/bio/overture/song-client/${version}/song-client-${version}-dist.tar.gz" + t2 = "dcc-release/bio/overture/song-client/${version}/song-client-${version}-exec.jar" t3 = "dcc-release/bio/overture/song-server/${version}/song-server-test-${version}-dist.tar.gz" t4 = "" - } - rtUpload ( serverId: 'artifactory', - spec: """{ + fileSpec = """{ \"files\": [ { \"pattern\": \"song-client/target/*.tar.gz\", @@ -92,6 +90,10 @@ spec: ] } """ + print("Upload file specification=${fileSpec}") + } + rtUpload ( serverId: 'artifactory', + spec: fileSpec ) } } From 0d79ae4d15e1cd6e714a709ba0946edf5aca5cbe Mon Sep 17 00:00:00 2001 From: khartmann Date: Mon, 18 Nov 2019 19:10:03 -0500 Subject: [PATCH 18/73] Trying this --- Jenkinsfile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 202a3ab78..4ad7a7aa8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -73,7 +73,7 @@ spec: t1 = "dcc-release/bio/overture/song-client/${version}/song-client-${version}-dist.tar.gz" t2 = "dcc-release/bio/overture/song-client/${version}/song-client-${version}-exec.jar" t3 = "dcc-release/bio/overture/song-server/${version}/song-server-test-${version}-dist.tar.gz" - t4 = "" + t4 = "dcc-release/bio/overture/song-server/${version}/song-client-${version}-exec.jar" fileSpec = """{ \"files\": [ { @@ -86,6 +86,9 @@ spec: }, { \"pattern\": \"song-server/target/*.tar.gz\", \"target\": \"${t3}\" + }, + { \"pattern\": \"song-server/target/*-exec.jar\", + \"target\": \"${t3}\" } ] } From ea1fcb150c44f8821e45432f1eee4a5479d41e16 Mon Sep 17 00:00:00 2001 From: khartmann Date: Mon, 18 Nov 2019 19:30:31 -0500 Subject: [PATCH 19/73] Change: Put old Jenkinsfile back with maven support... let's see what it does, now that I have some idea of what I'm supposed to be looking for... --- Jenkinsfile | 114 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 105 insertions(+), 9 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 4ad7a7aa8..36ea2527e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,9 +1,5 @@ def commit = "UNKNOWN" def version = "UNKNOWN" -def t1 = "UNKNOWN" -def t2 = "UNKNOWN" -def t3 = "UNKNOWN" -def t4 = "UNKNOWN" pipeline { agent { @@ -62,11 +58,91 @@ spec: stage('Test') { steps { container('jdk') { - sh "./mvnw package -DskipTests " + sh "./mvnw test" + } + } + } + stage('Build & Publish Develop') { + when { + branch "develop" + } + steps { + container('docker') { + withCredentials([usernamePassword(credentialsId:'OvertureDockerHub', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) { + sh 'docker login -u $USERNAME -p $PASSWORD' + } + sh "docker build --target=server --network=host -f Dockerfile . -t overture/song-server:edge -t overture/song-server:${commit}" + sh "docker build --target=client --network=host -f Dockerfile . -t overture/song-client:edge -t overture/song-client:${commit}" + sh "docker push overture/song-server:${commit}" + sh "docker push overture/song-server:edge" + sh "docker push overture/song-client:${commit}" + sh "docker push overture/song-client:edge" + } + } + } + stage('Release & tag') { + when { + branch "master" + } + steps { + container('docker') { + withCredentials([usernamePassword(credentialsId: 'OvertureBioGithub', passwordVariable: 'GIT_PASSWORD', usernameVariable: 'GIT_USERNAME')]) { + sh "git tag ${version}" + sh "git push https://${GIT_USERNAME}:${GIT_PASSWORD}@github.com/overture-stack/song --tags" + } + withCredentials([usernamePassword(credentialsId:'OvertureDockerHub', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) { + sh 'docker login -u $USERNAME -p $PASSWORD' + } + sh "docker build --target=server --network=host -f Dockerfile . -t overture/song-server:latest -t overture/song-server:${version}" + sh "docker build --target=client --network=host -f Dockerfile . -t overture/song-client:latest -t overture/song-client:${version}" + sh "docker push overture/song-server:${version}" + sh "docker push overture/song-server:latest" + sh "docker push overture/song-client:${version}" + sh "docker push overture/song-client:latest" + } + } + } + + stage('Deploy to Overture QA') { + when { + branch "develop" + } + steps { + container('helm') { + withCredentials([file(credentialsId:'4ed1e45c-b552-466b-8f86-729402993e3b', variable: 'KUBECONFIG')]) { + sh 'env' + sh 'helm init --client-only' + sh "helm ls --kubeconfig $KUBECONFIG" + sh "helm repo add overture https://overture-stack.github.io/charts-server/" + sh """ + helm upgrade --kubeconfig $KUBECONFIG --install --namespace=overture-qa song-overture-qa \\ + overture/song --reuse-values --set-string image.tag=${commit} + """ + } } } } + stage('Deploy to Overture Staging') { + when { + branch "master" + } + steps { + container('helm') { + withCredentials([file(credentialsId:'4ed1e45c-b552-466b-8f86-729402993e3b', variable: 'KUBECONFIG')]) { + sh 'env' + sh 'helm init --client-only' + sh "helm ls --kubeconfig $KUBECONFIG" + sh "helm repo add overture https://overture-stack.github.io/charts-server/" + sh """ + helm upgrade --kubeconfig $KUBECONFIG --install --namespace=overture-staging song-overture-staging \\ + overture/song --reuse-values --set-string image.tag=${version} + """ + } + } + } + } + stage('Upload Artifacts to Artifactory') { steps { script { @@ -88,16 +164,36 @@ spec: \"target\": \"${t3}\" }, { \"pattern\": \"song-server/target/*-exec.jar\", - \"target\": \"${t3}\" + \"target\": \"${t4}\" } ] } """ print("Upload file specification=${fileSpec}") } - rtUpload ( serverId: 'artifactory', - spec: fileSpec - ) + rtMavenResolver ( + id: 'resolver-unique-id', + serverId: 'artifactory', + releaseRepo: 'dcc-release', + snapshotRepo: 'dcc-snapshot' + ) + + rtMavenDeployer ( + id: 'deployer-unique-id', + serverId: 'artifactory', + releaseRepo: 'dcc-release', + snapshotRepo: 'dcc-snapshot' + ) + rtMavenRun ( + // Tool name from Jenkins configuration. + tool: MAVEN_TOOL, + pom: 'maven-example/pom.xml', + goals: 'clean install', + // Maven options. + opts: '-Xms1024m -Xmx4096m', + resolverId: 'resolver-unique-id', + deployerId: 'deployer-unique-id', + ) } } } From 726466fc82efaa2116934af21c01c4f73820354b Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 09:55:56 -0500 Subject: [PATCH 20/73] Bugfix: updated pom.xml to have snapshot Tempfix: Removed build steps we don't need Bugfix: Hopefully fixed missing Maven tool --- Jenkinsfile | 110 ++-------------------------------------------------- pom.xml | 2 +- 2 files changed, 4 insertions(+), 108 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 36ea2527e..3e463060b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -62,115 +62,12 @@ spec: } } } - stage('Build & Publish Develop') { - when { - branch "develop" - } - steps { - container('docker') { - withCredentials([usernamePassword(credentialsId:'OvertureDockerHub', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) { - sh 'docker login -u $USERNAME -p $PASSWORD' - } - sh "docker build --target=server --network=host -f Dockerfile . -t overture/song-server:edge -t overture/song-server:${commit}" - sh "docker build --target=client --network=host -f Dockerfile . -t overture/song-client:edge -t overture/song-client:${commit}" - sh "docker push overture/song-server:${commit}" - sh "docker push overture/song-server:edge" - sh "docker push overture/song-client:${commit}" - sh "docker push overture/song-client:edge" - } - } - } - stage('Release & tag') { - when { - branch "master" - } - steps { - container('docker') { - withCredentials([usernamePassword(credentialsId: 'OvertureBioGithub', passwordVariable: 'GIT_PASSWORD', usernameVariable: 'GIT_USERNAME')]) { - sh "git tag ${version}" - sh "git push https://${GIT_USERNAME}:${GIT_PASSWORD}@github.com/overture-stack/song --tags" - } - withCredentials([usernamePassword(credentialsId:'OvertureDockerHub', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) { - sh 'docker login -u $USERNAME -p $PASSWORD' - } - sh "docker build --target=server --network=host -f Dockerfile . -t overture/song-server:latest -t overture/song-server:${version}" - sh "docker build --target=client --network=host -f Dockerfile . -t overture/song-client:latest -t overture/song-client:${version}" - sh "docker push overture/song-server:${version}" - sh "docker push overture/song-server:latest" - sh "docker push overture/song-client:${version}" - sh "docker push overture/song-client:latest" - } - } - } - stage('Deploy to Overture QA') { - when { - branch "develop" - } - steps { - container('helm') { - withCredentials([file(credentialsId:'4ed1e45c-b552-466b-8f86-729402993e3b', variable: 'KUBECONFIG')]) { - sh 'env' - sh 'helm init --client-only' - sh "helm ls --kubeconfig $KUBECONFIG" - sh "helm repo add overture https://overture-stack.github.io/charts-server/" - sh """ - helm upgrade --kubeconfig $KUBECONFIG --install --namespace=overture-qa song-overture-qa \\ - overture/song --reuse-values --set-string image.tag=${commit} - """ - } - } - } - } - - stage('Deploy to Overture Staging') { + stage('Upload Artifacts to Artifactory') { when { - branch "master" - } - steps { - container('helm') { - withCredentials([file(credentialsId:'4ed1e45c-b552-466b-8f86-729402993e3b', variable: 'KUBECONFIG')]) { - sh 'env' - sh 'helm init --client-only' - sh "helm ls --kubeconfig $KUBECONFIG" - sh "helm repo add overture https://overture-stack.github.io/charts-server/" - sh """ - helm upgrade --kubeconfig $KUBECONFIG --install --namespace=overture-staging song-overture-staging \\ - overture/song --reuse-values --set-string image.tag=${version} - """ - } - } + branch "test" } - } - - stage('Upload Artifacts to Artifactory') { steps { - script { - t1 = "dcc-release/bio/overture/song-client/${version}/song-client-${version}-dist.tar.gz" - t2 = "dcc-release/bio/overture/song-client/${version}/song-client-${version}-exec.jar" - t3 = "dcc-release/bio/overture/song-server/${version}/song-server-test-${version}-dist.tar.gz" - t4 = "dcc-release/bio/overture/song-server/${version}/song-client-${version}-exec.jar" - fileSpec = """{ - \"files\": [ - { - \"pattern\": \"song-client/target/*.tar.gz\", - \"target\": \"${t1}\" - }, - { - \"pattern\": \"song-client/target/*-exec.jar\", - \"target\": \"${t2}\" - }, - { \"pattern\": \"song-server/target/*.tar.gz\", - \"target\": \"${t3}\" - }, - { \"pattern\": \"song-server/target/*-exec.jar\", - \"target\": \"${t4}\" - } - ] - } - """ - print("Upload file specification=${fileSpec}") - } rtMavenResolver ( id: 'resolver-unique-id', serverId: 'artifactory', @@ -185,8 +82,7 @@ spec: snapshotRepo: 'dcc-snapshot' ) rtMavenRun ( - // Tool name from Jenkins configuration. - tool: MAVEN_TOOL, + tool: "./mvnw", pom: 'maven-example/pom.xml', goals: 'clean install', // Maven options. diff --git a/pom.xml b/pom.xml index b58280663..f70716c8b 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ bio.overture song pom - 2.2.0 + 2.2.0-SNAPSHOT song-core song-java-sdk From 5f0fb4138543a017db8a62c8fd57972d437a09a2 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 10:57:31 -0500 Subject: [PATCH 21/73] Bugfix: Removed SNAPSHOT --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f70716c8b..b58280663 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ bio.overture song pom - 2.2.0-SNAPSHOT + 2.2.0 song-core song-java-sdk From df08abe124e58bedc352e43e608e0d2f7da564a6 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 11:01:10 -0500 Subject: [PATCH 22/73] Bugfix: Remove build of tests for now for speed reasons --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3e463060b..292f4e645 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -58,7 +58,7 @@ spec: stage('Test') { steps { container('jdk') { - sh "./mvnw test" + sh "./mvnw package -Dmaven.test.skip=true'" } } } From 1cad015c2f54d65024946c54d2df1c5723ad8fae Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 11:13:27 -0500 Subject: [PATCH 23/73] Bugfix: Extra ' --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 292f4e645..4988d5ca6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -58,7 +58,7 @@ spec: stage('Test') { steps { container('jdk') { - sh "./mvnw package -Dmaven.test.skip=true'" + sh "./mvnw package -Dmaven.test.skip=true" } } } From 3a69484bd04202796dd6567fce0d42037efc3da1 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 11:30:33 -0500 Subject: [PATCH 24/73] Bugfix: Trying to omit "tool" parameter to see if the default works --- Jenkinsfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 4988d5ca6..8f8e4f228 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -82,7 +82,6 @@ spec: snapshotRepo: 'dcc-snapshot' ) rtMavenRun ( - tool: "./mvnw", pom: 'maven-example/pom.xml', goals: 'clean install', // Maven options. From 6bf587c3231d61ee5d91a19db07284637294ebdd Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 11:48:19 -0500 Subject: [PATCH 25/73] Bugfix: Added a MVN3 maven tool configuration in Jenkins; linked to it in this file. Hopefully, this works okay. --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index 8f8e4f228..f4abb35d9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -82,6 +82,7 @@ spec: snapshotRepo: 'dcc-snapshot' ) rtMavenRun ( + tool: MVN3 pom: 'maven-example/pom.xml', goals: 'clean install', // Maven options. From 0684c60e99242dfe689814d21b8740f90a2c7e7e Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 11:57:00 -0500 Subject: [PATCH 26/73] Bugfix: Shouldn't use maven-example/pom.xml as the pom --- Jenkinsfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index f4abb35d9..bbc9356be 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -83,10 +83,10 @@ spec: ) rtMavenRun ( tool: MVN3 - pom: 'maven-example/pom.xml', - goals: 'clean install', + pom: './pom.xml', + goals: 'package', // Maven options. - opts: '-Xms1024m -Xmx4096m', + opts: '-Dmaven.test.skip=true -Xms1024m -Xmx4096m', resolverId: 'resolver-unique-id', deployerId: 'deployer-unique-id', ) From 01ef65737c28f1c23f0865139a7bad142465f418 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 12:01:41 -0500 Subject: [PATCH 27/73] Bugfix: Missing , --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index bbc9356be..1e5e8d0e7 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -82,7 +82,7 @@ spec: snapshotRepo: 'dcc-snapshot' ) rtMavenRun ( - tool: MVN3 + tool: MVN3, pom: './pom.xml', goals: 'package', // Maven options. From 9b5cde1080e2789caef96dfdc9e56fc0c5c84086 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 12:26:23 -0500 Subject: [PATCH 28/73] Added tools section --- Jenkinsfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index 1e5e8d0e7..624c9d8af 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -44,6 +44,10 @@ spec: """ } } + tools { + maven 'Maven 3.3.9' + jdk 'jdk8' + } stages { stage('Prepare') { steps { From e04c1189b19f435c84d81cb3a048f5c0ad6f9896 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 12:30:49 -0500 Subject: [PATCH 29/73] Bugfix: Changed maven to match what the error messages suggest is available on the server. Bugfix: Quoted MVN3 in the 'tool' section --- Jenkinsfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 624c9d8af..4132db525 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -45,8 +45,8 @@ spec: } } tools { - maven 'Maven 3.3.9' - jdk 'jdk8' + maven 'MVN3' + jdk 'OpenJDK 11' } stages { stage('Prepare') { @@ -86,7 +86,7 @@ spec: snapshotRepo: 'dcc-snapshot' ) rtMavenRun ( - tool: MVN3, + tool: 'MVN3', pom: './pom.xml', goals: 'package', // Maven options. From 84f7f1c9502d5949f78e8e0b4cd7608973889f46 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 12:46:15 -0500 Subject: [PATCH 30/73] The pipeline claims to install JDK11, then complains it can't find it. Removing it from the tools section in hopes there's a default value that works better. --- Jenkinsfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 4132db525..967c35a19 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -46,7 +46,6 @@ spec: } tools { maven 'MVN3' - jdk 'OpenJDK 11' } stages { stage('Prepare') { From fcbb775b782e75e1411d73479d7db4854fab5576 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 13:02:20 -0500 Subject: [PATCH 31/73] Changed dcc-release to dcc-release-local, in hopes that 'local' is part of a naming convention that the plugin knows. --- Jenkinsfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 967c35a19..996e63245 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -81,13 +81,13 @@ spec: rtMavenDeployer ( id: 'deployer-unique-id', serverId: 'artifactory', - releaseRepo: 'dcc-release', - snapshotRepo: 'dcc-snapshot' + releaseRepo: 'dcc-release-local', + snapshotRepo: 'dcc-snapshot-local' ) rtMavenRun ( tool: 'MVN3', pom: './pom.xml', - goals: 'package', + goals: 'clean install', // Maven options. opts: '-Dmaven.test.skip=true -Xms1024m -Xmx4096m', resolverId: 'resolver-unique-id', From 304b1b29e6cb8d143c31f3e627751c2d854377f7 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 13:23:39 -0500 Subject: [PATCH 32/73] x --- Jenkinsfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 996e63245..aec43bccd 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -74,15 +74,15 @@ spec: rtMavenResolver ( id: 'resolver-unique-id', serverId: 'artifactory', - releaseRepo: 'dcc-release', - snapshotRepo: 'dcc-snapshot' + releaseRepo: 'libs-release', + snapshotRepo: 'libs-snapshot' ) rtMavenDeployer ( id: 'deployer-unique-id', serverId: 'artifactory', - releaseRepo: 'dcc-release-local', - snapshotRepo: 'dcc-snapshot-local' + releaseRepo: 'libs-release-local', + snapshotRepo: 'libs-snapshot-local' ) rtMavenRun ( tool: 'MVN3', From 51d4cb0e7f28eafc47e8e6479515331d0d89b752 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 15:59:02 -0500 Subject: [PATCH 33/73] Changed pom to song/pom.xml --- Jenkinsfile | 64 +++++------------------------------------------------ 1 file changed, 6 insertions(+), 58 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index aec43bccd..291d3907c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,48 +2,7 @@ def commit = "UNKNOWN" def version = "UNKNOWN" pipeline { - agent { - kubernetes { - label 'song-executor' - yaml """ -apiVersion: v1 -kind: Pod -spec: - containers: - - name: jdk - tty: true - image: openjdk:11 - env: - - name: DOCKER_HOST - value: tcp://localhost:2375 - - name: dind-daemon - image: docker:18.06-dind - securityContext: - privileged: true - volumeMounts: - - name: docker-graph-storage - mountPath: /var/lib/docker - - name: helm - image: alpine/helm:2.12.3 - command: - - cat - tty: true - - name: docker - image: docker:18-git - tty: true - volumeMounts: - - mountPath: /var/run/docker.sock - name: docker-sock - volumes: - - name: docker-sock - hostPath: - path: /var/run/docker.sock - type: File - - name: docker-graph-storage - emptyDir: {} -""" - } - } + agent: any tools { maven 'MVN3' } @@ -58,35 +17,24 @@ spec: } } } - stage('Test') { - steps { - container('jdk') { - sh "./mvnw package -Dmaven.test.skip=true" - } - } - } - stage('Upload Artifacts to Artifactory') { - when { - branch "test" - } steps { rtMavenResolver ( id: 'resolver-unique-id', serverId: 'artifactory', - releaseRepo: 'libs-release', - snapshotRepo: 'libs-snapshot' + releaseRepo: 'dcc-release', + snapshotRepo: 'dcc-snapshot' ) rtMavenDeployer ( id: 'deployer-unique-id', serverId: 'artifactory', - releaseRepo: 'libs-release-local', - snapshotRepo: 'libs-snapshot-local' + releaseRepo: 'dcc-release', + snapshotRepo: 'dcc-snapshot' ) rtMavenRun ( tool: 'MVN3', - pom: './pom.xml', + pom: 'song/pom.xml', goals: 'clean install', // Maven options. opts: '-Dmaven.test.skip=true -Xms1024m -Xmx4096m', From ccc65d628ac0ef7b42646d5b65346d115af494a3 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 16:01:41 -0500 Subject: [PATCH 34/73] x --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 291d3907c..d339518bd 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,7 +2,7 @@ def commit = "UNKNOWN" def version = "UNKNOWN" pipeline { - agent: any + agent:{ any } tools { maven 'MVN3' } From 14c485ddaa04ea9a6060850ce232be1636e10466 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 16:08:12 -0500 Subject: [PATCH 35/73] Trying with -Dmaven.repo.local --- Jenkinsfile | 57 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 53 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index d339518bd..3431b899e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,7 +2,48 @@ def commit = "UNKNOWN" def version = "UNKNOWN" pipeline { - agent:{ any } + agent { + kubernetes { + label 'song-executor' + yaml """ +apiVersion: v1 +kind: Pod +spec: + containers: + - name: jdk + tty: true + image: openjdk:11 + env: + - name: DOCKER_HOST + value: tcp://localhost:2375 + - name: dind-daemon + image: docker:18.06-dind + securityContext: + privileged: true + volumeMounts: + - name: docker-graph-storage + mountPath: /var/lib/docker + - name: helm + image: alpine/helm:2.12.3 + command: + - cat + tty: true + - name: docker + image: docker:18-git + tty: true + volumeMounts: + - mountPath: /var/run/docker.sock + name: docker-sock + volumes: + - name: docker-sock + hostPath: + path: /var/run/docker.sock + type: File + - name: docker-graph-storage + emptyDir: {} +""" + } + } tools { maven 'MVN3' } @@ -17,6 +58,14 @@ pipeline { } } } + stage('Test') { + steps { + container('jdk') { + sh "./mvnw package -Dmaven.test.skip=true" + } + } + } + stage('Upload Artifacts to Artifactory') { steps { rtMavenResolver ( @@ -26,7 +75,7 @@ pipeline { snapshotRepo: 'dcc-snapshot' ) - rtMavenDeployer ( + rtMavenDeployer ( id: 'deployer-unique-id', serverId: 'artifactory', releaseRepo: 'dcc-release', @@ -34,8 +83,8 @@ pipeline { ) rtMavenRun ( tool: 'MVN3', - pom: 'song/pom.xml', - goals: 'clean install', + pom: 'SONG/pom.xml', + goals: 'clean install -Dmaven.repo.local=.m2', // Maven options. opts: '-Dmaven.test.skip=true -Xms1024m -Xmx4096m', resolverId: 'resolver-unique-id', From 810bd59e8787a2ee8feff9f67134a1962506dd50 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 16:14:05 -0500 Subject: [PATCH 36/73] Adding SONG lead to the pom not being found --- Jenkinsfile | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3431b899e..fd15bba8e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -58,13 +58,6 @@ spec: } } } - stage('Test') { - steps { - container('jdk') { - sh "./mvnw package -Dmaven.test.skip=true" - } - } - } stage('Upload Artifacts to Artifactory') { steps { @@ -83,7 +76,7 @@ spec: ) rtMavenRun ( tool: 'MVN3', - pom: 'SONG/pom.xml', + pom: 'pom.xml', goals: 'clean install -Dmaven.repo.local=.m2', // Maven options. opts: '-Dmaven.test.skip=true -Xms1024m -Xmx4096m', From 084525bd1637b73c5b7d53b6affad98e03503b0b Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 16:37:21 -0500 Subject: [PATCH 37/73] Tried eliminating the resolver step entirely, since it doesn't work. --- Jenkinsfile | 8 -------- 1 file changed, 8 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index fd15bba8e..31d089c71 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -61,13 +61,6 @@ spec: stage('Upload Artifacts to Artifactory') { steps { - rtMavenResolver ( - id: 'resolver-unique-id', - serverId: 'artifactory', - releaseRepo: 'dcc-release', - snapshotRepo: 'dcc-snapshot' - ) - rtMavenDeployer ( id: 'deployer-unique-id', serverId: 'artifactory', @@ -80,7 +73,6 @@ spec: goals: 'clean install -Dmaven.repo.local=.m2', // Maven options. opts: '-Dmaven.test.skip=true -Xms1024m -Xmx4096m', - resolverId: 'resolver-unique-id', deployerId: 'deployer-unique-id', ) } From d4b79209050991340b12206638d40c28c35da051 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 16:46:58 -0500 Subject: [PATCH 38/73] Bugfix: Trying to use OpenJDK11 now --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index 31d089c71..3e69ab7ac 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -46,6 +46,7 @@ spec: } tools { maven 'MVN3' + jdk 'OpenJDK 11' } stages { stage('Prepare') { From a800a9391d1c0779f9008cc4a44efbfa1ecd53f4 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 17:02:32 -0500 Subject: [PATCH 39/73] Trying to use DAO in place of MVN3 --- Jenkinsfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3e69ab7ac..b7778dad8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -45,8 +45,7 @@ spec: } } tools { - maven 'MVN3' - jdk 'OpenJDK 11' + maven 'DAO' } stages { stage('Prepare') { From b6ee96f14fc5e89360b93ca5d43fa0965f0bf879 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 17:15:24 -0500 Subject: [PATCH 40/73] Want to see error message for JDK version again... --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index b7778dad8..31d089c71 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -45,7 +45,7 @@ spec: } } tools { - maven 'DAO' + maven 'MVN3' } stages { stage('Prepare') { From d160c5605fdb435e6d1a12bcd843c960314c257e Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 17:20:36 -0500 Subject: [PATCH 41/73] This will now fail because the maven plugin isn't defined for JDK11, right? Let's just see.... --- Jenkinsfile | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 31d089c71..ce3d6623f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -45,20 +45,10 @@ spec: } } tools { + jdk 'OpenJDK 11' maven 'MVN3' } stages { - stage('Prepare') { - steps { - script { - commit = sh(returnStdout: true, script: 'git describe --always').trim() - } - script { - version = readMavenPom().getVersion() - } - } - } - stage('Upload Artifacts to Artifactory') { steps { rtMavenDeployer ( From a63c72054bf65be5ea2b99b7dda65adbad7d2dfe Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 18:17:29 -0500 Subject: [PATCH 42/73] Changed to agent any --- Jenkinsfile | 43 +------------------------------------------ 1 file changed, 1 insertion(+), 42 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index ce3d6623f..6d0eb1bd3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,48 +2,7 @@ def commit = "UNKNOWN" def version = "UNKNOWN" pipeline { - agent { - kubernetes { - label 'song-executor' - yaml """ -apiVersion: v1 -kind: Pod -spec: - containers: - - name: jdk - tty: true - image: openjdk:11 - env: - - name: DOCKER_HOST - value: tcp://localhost:2375 - - name: dind-daemon - image: docker:18.06-dind - securityContext: - privileged: true - volumeMounts: - - name: docker-graph-storage - mountPath: /var/lib/docker - - name: helm - image: alpine/helm:2.12.3 - command: - - cat - tty: true - - name: docker - image: docker:18-git - tty: true - volumeMounts: - - mountPath: /var/run/docker.sock - name: docker-sock - volumes: - - name: docker-sock - hostPath: - path: /var/run/docker.sock - type: File - - name: docker-graph-storage - emptyDir: {} -""" - } - } + agent any tools { jdk 'OpenJDK 11' maven 'MVN3' From 8c1a45e083afce1b3bbb667227561fd16ddc414a Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 18:26:00 -0500 Subject: [PATCH 43/73] Let's see what a find tells us... --- Jenkinsfile | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6d0eb1bd3..e8bee945e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,13 +2,58 @@ def commit = "UNKNOWN" def version = "UNKNOWN" pipeline { - agent any + agent { + kubernetes { + label 'song-executor' + yaml """ +apiVersion: v1 +kind: Pod +spec: + containers: + - name: jdk + tty: true + image: openjdk:11 + env: + - name: DOCKER_HOST + value: tcp://localhost:2375 + - name: dind-daemon + image: docker:18.06-dind + securityContext: + privileged: true + volumeMounts: + - name: docker-graph-storage + mountPath: /var/lib/docker + - name: helm + image: alpine/helm:2.12.3 + command: + - cat + tty: true + - name: docker + image: docker:18-git + tty: true + volumeMounts: + - mountPath: /var/run/docker.sock + name: docker-sock + volumes: + - name: docker-sock + hostPath: + path: /var/run/docker.sock + type: File + - name: docker-graph-storage + emptyDir: {} +""" + } + } tools { jdk 'OpenJDK 11' maven 'MVN3' } stages { stage('Upload Artifacts to Artifactory') { + steps { + sh 'find /home/jenkins/agent/tools/hudson.model.JDK/OpenJDK_11' + } + steps { rtMavenDeployer ( id: 'deployer-unique-id', From 66651e130b4b4030ed26c16a149c2d9ae4117f94 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 18:28:23 -0500 Subject: [PATCH 44/73] Will this syntax work better? --- Jenkinsfile | 3 --- 1 file changed, 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index e8bee945e..5bee0d5d5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -52,9 +52,6 @@ spec: stage('Upload Artifacts to Artifactory') { steps { sh 'find /home/jenkins/agent/tools/hudson.model.JDK/OpenJDK_11' - } - - steps { rtMavenDeployer ( id: 'deployer-unique-id', serverId: 'artifactory', From 35faa1768f52f5dcaee79dfa46d2b6b040e59ab5 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 18:57:42 -0500 Subject: [PATCH 45/73] Confirm that we can run java11, but that the plugin wants java8. :-( --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 5bee0d5d5..48e653dfe 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -51,7 +51,7 @@ spec: stages { stage('Upload Artifacts to Artifactory') { steps { - sh 'find /home/jenkins/agent/tools/hudson.model.JDK/OpenJDK_11' + sh 'ls -l /home/jenkins/agent/tools/hudson.model.JDK/OpenJDK_11/jdk-11.0.1/bin/java' rtMavenDeployer ( id: 'deployer-unique-id', serverId: 'artifactory', From 563c6b7481177a3b6f35221ea537885bac62fc35 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 19:18:06 -0500 Subject: [PATCH 46/73] Show the version numbers that we're failing to run with. --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 48e653dfe..28f5894ba 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -63,7 +63,7 @@ spec: pom: 'pom.xml', goals: 'clean install -Dmaven.repo.local=.m2', // Maven options. - opts: '-Dmaven.test.skip=true -Xms1024m -Xmx4096m', + opts: '-V -U -e -Dsurefire.useFile=false-Dmaven.test.skip=true -Xms1024m -Xmx4096m', deployerId: 'deployer-unique-id', ) } From a75b9396be02e17a931986e917286d28f7b0154b Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 19:22:17 -0500 Subject: [PATCH 47/73] Now, let's see if this failure message lists the java version that we ran against, or tells us something more useful than the previous one did... --- Jenkinsfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 28f5894ba..43e2bfb8b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -45,7 +45,6 @@ spec: } } tools { - jdk 'OpenJDK 11' maven 'MVN3' } stages { From 9ed37cc1085c916c85d64d59ae8e542f112f3d05 Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 19:27:07 -0500 Subject: [PATCH 48/73] no ls --- Jenkinsfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 43e2bfb8b..43fb73ca0 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -50,7 +50,6 @@ spec: stages { stage('Upload Artifacts to Artifactory') { steps { - sh 'ls -l /home/jenkins/agent/tools/hudson.model.JDK/OpenJDK_11/jdk-11.0.1/bin/java' rtMavenDeployer ( id: 'deployer-unique-id', serverId: 'artifactory', From d1c3b921d764b19373b1198486fcfffcbb1893cf Mon Sep 17 00:00:00 2001 From: khartmann Date: Tue, 19 Nov 2019 19:32:56 -0500 Subject: [PATCH 49/73] Changed mvn config slightly --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 43fb73ca0..1db528011 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -59,9 +59,9 @@ spec: rtMavenRun ( tool: 'MVN3', pom: 'pom.xml', - goals: 'clean install -Dmaven.repo.local=.m2', + goals: 'install -Dmaven.repo.local=.m2 -V -U -e -Dsurefire.useFile=false -Dmaven.test.skip=true install', // Maven options. - opts: '-V -U -e -Dsurefire.useFile=false-Dmaven.test.skip=true -Xms1024m -Xmx4096m', + opts: '-Xms1024m -Xmx4096m', deployerId: 'deployer-unique-id', ) } From 30ad964be7b74c40f5c7a87bfc8d04c1c171e83f Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 11:31:16 -0500 Subject: [PATCH 50/73] Reverted to rtUpload; wrote hopefully cleaner groovy for the JSON. --- Jenkinsfile | 63 ++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 45 insertions(+), 18 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1db528011..cf5708ef8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,5 +1,6 @@ def commit = "UNKNOWN" def version = "UNKNOWN" +import groovy.json.JsonOutput pipeline { agent { @@ -44,26 +45,52 @@ spec: """ } } - tools { - maven 'MVN3' - } stages { - stage('Upload Artifacts to Artifactory') { + stage('Prepare') { + steps { + script { + commit = sh(returnStdout: true, script: 'git describe --always').trim() + } + script { + version = readMavenPom().getVersion() + } + } + } + stage('Test') { + steps { + container('jdk') { + sh "./mvnw package -DskipTests " + } + } + } + + stage('Upload Artifact SNAPSHOT') { steps { - rtMavenDeployer ( - id: 'deployer-unique-id', - serverId: 'artifactory', - releaseRepo: 'dcc-release', - snapshotRepo: 'dcc-snapshot' - ) - rtMavenRun ( - tool: 'MVN3', - pom: 'pom.xml', - goals: 'install -Dmaven.repo.local=.m2 -V -U -e -Dsurefire.useFile=false -Dmaven.test.skip=true install', - // Maven options. - opts: '-Xms1024m -Xmx4096m', - deployerId: 'deployer-unique-id', - ) + script { + repo = "dcc-snapshot/bio/overture" + client="song-client" + server="song-server" + clientName = "${client}-${version}" + serverName = "${server}-${version}" + fileSet=[files: + [ + [pattern: "${client}/target/*.tar.gz", + target: "${repo}/${client}/${version}/${clientName}-dist.tar.gz"], + [pattern: "${client}/target/*-exec.jar", + target:"${repo}/${client}/${version}/${clientName}-exec.jar"], + [pattern: "${server}/target/*.tar.gz", + target: "${repo}/${server}/${version}/${serverName}-dist.tar.gz"], + [pattern: "${server}/target/*-exec.jar", + target: "${repo}/${server}/${version}/${serverName}-exec.jar"] + ] + ] + files=JsonOutput.toJson(fileSet) + + print("Upload file specification=${files}") + } + rtUpload( serverId: 'artifactory', + spec: files + ) } } } From 8fba27eac6ea899d98930e8b4a3899c1de9b5ce1 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 11:48:48 -0500 Subject: [PATCH 51/73] Added -SNAPSHOT for the snapshot directory to be happy with us --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index cf5708ef8..6a1ea4d1e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -70,8 +70,8 @@ spec: repo = "dcc-snapshot/bio/overture" client="song-client" server="song-server" - clientName = "${client}-${version}" - serverName = "${server}-${version}" + clientName = "${client}-${version}-SNAPSHOT" + serverName = "${server}-${version}-SNAPSHOT" fileSet=[files: [ [pattern: "${client}/target/*.tar.gz", From ce43600dac5913c80fff5df00f7b20ea28a233af Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 11:51:52 -0500 Subject: [PATCH 52/73] Retrying the trigger --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index 6a1ea4d1e..fa590fb95 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -87,6 +87,7 @@ spec: files=JsonOutput.toJson(fileSet) print("Upload file specification=${files}") + print("Please work!") } rtUpload( serverId: 'artifactory', spec: files From b1c7fcb2c979ce0136c1d393b5ecb19f2fcbac34 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 13:05:08 -0500 Subject: [PATCH 53/73] Enhancement: Now try to include the pom and jar files, the pom file for song, and the files for song-core. --- Jenkinsfile | 88 +++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 66 insertions(+), 22 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index fa590fb95..db428e327 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -65,34 +65,78 @@ spec: } stage('Upload Artifact SNAPSHOT') { - steps { + steps { + sh """cat > fake.pom <<-EOT + + bio.overture + song + $version + pom + +EOT +""" + sh "echo 'contents of our fake pomfile';cat fake.pom" script { repo = "dcc-snapshot/bio/overture" - client="song-client" - server="song-server" - clientName = "${client}-${version}-SNAPSHOT" - serverName = "${server}-${version}-SNAPSHOT" - fileSet=[files: - [ - [pattern: "${client}/target/*.tar.gz", - target: "${repo}/${client}/${version}/${clientName}-dist.tar.gz"], - [pattern: "${client}/target/*-exec.jar", - target:"${repo}/${client}/${version}/${clientName}-exec.jar"], - [pattern: "${server}/target/*.tar.gz", - target: "${repo}/${server}/${version}/${serverName}-dist.tar.gz"], - [pattern: "${server}/target/*-exec.jar", - target: "${repo}/${server}/${version}/${serverName}-exec.jar"] - ] + client = "song-client" + clientName = "$client-$version-SNAPSHOT" + clientTarget = "$repo/$client/$version/$clientName" + + server = "song-server" + serverName = "$server-$version-SNAPSHOT" + serverTarget = "$repo/$server/$version/$serverName" + + core = "song-core" + coreName = "$core-$version-SNAPSHOT" + coreTarget = "$repo/$core/$version/$coreName" + fileSet = [files: + [ // song + [pattern: "fake.pom", target: "${repo}/song/song-${version}.pom"], + // song-client + [pattern: "${client}/target/*.tar.gz", + target : "${clientTarget}-dist.tar.gz"], + [pattern: "${client}/target/*-exec.jar", + target : "${clientTarget}-exec.jar"], + [pattern : "$client/target/*.jar", + target : "${clientTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "fake.pom", + target : "${clientTarget}.pom" + ], + + // song-server + [pattern: "${server}/target/*.tar.gz", + target : "${serverTarget}-dist.tar.gz"], + [pattern: "${server}/target/*-exec.jar", + target : "${serverTarget}-exec.jar"], + [pattern : "$server/target/*.jar", + target : "${serverTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "fake.pom", + target : "${serverTarget}.pom" + ], + + // song-core + [pattern : "$core/target/*.jar", + target : "${coreTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "fake.pom", + target : "${coreTarget}.pom" + ] + ] ] - files=JsonOutput.toJson(fileSet) + files = JsonOutput.toJson(fileSet) print("Upload file specification=${files}") - print("Please work!") + print("Please work! I would appreciate it greatly!") } - rtUpload( serverId: 'artifactory', + rtUpload(serverId: 'artifactory', spec: files - ) - } - } + ) + } + } } } From 31639878c699359774a05386f2fac5289829c835 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 13:31:16 -0500 Subject: [PATCH 54/73] Real POM files this time --- Jenkinsfile | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index db428e327..ebcd06515 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -65,17 +65,6 @@ spec: } stage('Upload Artifact SNAPSHOT') { - steps { - sh """cat > fake.pom <<-EOT - - bio.overture - song - $version - pom - -EOT -""" - sh "echo 'contents of our fake pomfile';cat fake.pom" script { repo = "dcc-snapshot/bio/overture" client = "song-client" @@ -91,7 +80,7 @@ EOT coreTarget = "$repo/$core/$version/$coreName" fileSet = [files: [ // song - [pattern: "fake.pom", target: "${repo}/song/song-${version}.pom"], + [pattern: "pom.xml", target: "${repo}/song/song-${version}.pom"], // song-client [pattern: "${client}/target/*.tar.gz", target : "${clientTarget}-dist.tar.gz"], @@ -101,7 +90,7 @@ EOT target : "${clientTarget}.jar", excludePatterns: ["*-exec.jar"] ], - [pattern: "fake.pom", + [pattern: "${client}/pom.xml", target : "${clientTarget}.pom" ], @@ -114,7 +103,7 @@ EOT target : "${serverTarget}.jar", excludePatterns: ["*-exec.jar"] ], - [pattern: "fake.pom", + [pattern: "${server}/pom.xml", target : "${serverTarget}.pom" ], @@ -123,7 +112,7 @@ EOT target : "${coreTarget}.jar", excludePatterns: ["*-exec.jar"] ], - [pattern: "fake.pom", + [pattern: "$core/pom.xml", target : "${coreTarget}.pom" ] ] @@ -131,7 +120,7 @@ EOT files = JsonOutput.toJson(fileSet) print("Upload file specification=${files}") - print("Please work! I would appreciate it greatly!") + print("Please work for me!") } rtUpload(serverId: 'artifactory', spec: files From 6b571e501ef5cf681d545008baa6f8e309ed9bc7 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 13:48:37 -0500 Subject: [PATCH 55/73] Fixed syntax --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index ebcd06515..a81a79a65 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -122,6 +122,7 @@ spec: print("Upload file specification=${files}") print("Please work for me!") } + steps { rtUpload(serverId: 'artifactory', spec: files ) From 51257298ad5f51ce23c1f32b0fd197e029cc8d73 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 13:56:12 -0500 Subject: [PATCH 56/73] Please work --- Jenkinsfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index a81a79a65..28883ba72 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -65,6 +65,7 @@ spec: } stage('Upload Artifact SNAPSHOT') { + steps { script { repo = "dcc-snapshot/bio/overture" client = "song-client" @@ -122,7 +123,7 @@ spec: print("Upload file specification=${files}") print("Please work for me!") } - steps { + rtUpload(serverId: 'artifactory', spec: files ) From 22e06e4d2ecf232d596aec834f4527396e673637 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 14:07:34 -0500 Subject: [PATCH 57/73] Fixed pom path for SONG --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 28883ba72..522853dfc 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -81,7 +81,7 @@ spec: coreTarget = "$repo/$core/$version/$coreName" fileSet = [files: [ // song - [pattern: "pom.xml", target: "${repo}/song/song-${version}.pom"], + [pattern: "pom.xml", target: "${repo}/song/${version}/song-${version}.pom"], // song-client [pattern: "${client}/target/*.tar.gz", target : "${clientTarget}-dist.tar.gz"], From 3cc30989c85aae36b6df263dd30b50b1776bfea2 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 14:19:03 -0500 Subject: [PATCH 58/73] Added -SNAPSHOT to song --- Jenkinsfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 522853dfc..fea74ac2b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -79,9 +79,11 @@ spec: core = "song-core" coreName = "$core-$version-SNAPSHOT" coreTarget = "$repo/$core/$version/$coreName" + + songTarget="$repo/song/$version/song-$version-SNAPSHOT" fileSet = [files: [ // song - [pattern: "pom.xml", target: "${repo}/song/${version}/song-${version}.pom"], + [pattern: "pom.xml", target: "$songTarget.pom"], // song-client [pattern: "${client}/target/*.tar.gz", target : "${clientTarget}-dist.tar.gz"], From 67ef9d9355d7bcd24f040c8f1b4dc1150633b154 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 14:30:26 -0500 Subject: [PATCH 59/73] Trying to get around sandbox error by putting all the kids in the same sandbox --- Jenkinsfile | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index fea74ac2b..65d3cb0a1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -79,7 +79,7 @@ spec: core = "song-core" coreName = "$core-$version-SNAPSHOT" coreTarget = "$repo/$core/$version/$coreName" - + songTarget="$repo/song/$version/song-$version-SNAPSHOT" fileSet = [files: [ // song @@ -124,11 +124,13 @@ spec: print("Upload file specification=${files}") print("Please work for me!") + + rtUpload(serverId: 'artifactory', + spec: files + ) } - rtUpload(serverId: 'artifactory', - spec: files - ) + } } } From 4a64bf4bb5dad0f6b91303b9607cc9653715f4ef Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 14:53:07 -0500 Subject: [PATCH 60/73] Expect this to give a sandbox error --- Jenkinsfile | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 65d3cb0a1..63c3c5cd0 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -124,13 +124,10 @@ spec: print("Upload file specification=${files}") print("Please work for me!") - - rtUpload(serverId: 'artifactory', - spec: files - ) } - - + rtUpload(serverId: 'artifactory', + spec: files + ) } } } From bc5f83677fd3c70e082b1fbb6cb9066e7973fa6f Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 16:22:09 -0500 Subject: [PATCH 61/73] Fixed braces --- Jenkinsfile | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 63c3c5cd0..4a92523d6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -65,6 +65,7 @@ spec: } stage('Upload Artifact SNAPSHOT') { + when { branch 'test' } steps { script { repo = "dcc-snapshot/bio/overture" @@ -83,7 +84,75 @@ spec: songTarget="$repo/song/$version/song-$version-SNAPSHOT" fileSet = [files: [ // song - [pattern: "pom.xml", target: "$songTarget.pom"], + [pattern: "pom.xml", target: "${songTarget}.pom"], + // song-client + [pattern: "${client}/target/*.tar.gz", + target : "${clientTarget}-dist.tar.gz"], + [pattern: "${client}/target/*-exec.jar", + target : "${clientTarget}-exec.jar"], + [pattern : "$client/target/*.jar", + target : "${clientTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "${client}/pom.xml", + target : "${clientTarget}.pom" + ], + + // song-server + [pattern: "${server}/target/*.tar.gz", + target : "${serverTarget}-dist.tar.gz"], + [pattern: "${server}/target/*-exec.jar", + target : "${serverTarget}-exec.jar"], + [pattern : "$server/target/*.jar", + target : "${serverTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "${server}/pom.xml", + target : "${serverTarget}.pom" + ], + + // song-core + [pattern : "$core/target/*.jar", + target : "${coreTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "$core/pom.xml", + target : "${coreTarget}.pom" + ] + ] + ] + files = JsonOutput.toJson(fileSet) + + print("Upload file specification=${files}") + print("Please work for me!") + } + rtUpload(serverId: 'artifactory', + spec: files + ) + } + } + + stage('Upload Artifact Release') { + when { branch 'test-release' } + steps { + script { + repo = "dcc-release/bio/overture" + client = "song-client" + clientName = "$client-$version" + clientTarget = "$repo/$client/$version/$clientName" + + server = "song-server" + serverName = "$server-$version" + serverTarget = "$repo/$server/$version/$serverName" + + core = "song-core" + coreName = "$core-$version" + coreTarget = "$repo/$core/$version/$coreName" + + songTarget="$repo/song/$version/song-$version" + fileSet = [files: + [ // song + [pattern: "pom.xml", target: "${songTarget}.pom"], // song-client [pattern: "${client}/target/*.tar.gz", target : "${clientTarget}-dist.tar.gz"], From af394de52b83c5fb1d8bc442bc092052f3f44904 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 16:35:08 -0500 Subject: [PATCH 62/73] Added -SNAPSHOT to repo branch --- Jenkinsfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 4a92523d6..6b60064fb 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -71,17 +71,17 @@ spec: repo = "dcc-snapshot/bio/overture" client = "song-client" clientName = "$client-$version-SNAPSHOT" - clientTarget = "$repo/$client/$version/$clientName" + clientTarget = "$repo/$client/$version-SNAPSHOT/$clientName" server = "song-server" serverName = "$server-$version-SNAPSHOT" - serverTarget = "$repo/$server/$version/$serverName" + serverTarget = "$repo/$server/$version-SNAPSHOT/$serverName" core = "song-core" coreName = "$core-$version-SNAPSHOT" - coreTarget = "$repo/$core/$version/$coreName" + coreTarget = "$repo/$core/$version-SNAPSHOT/$coreName" - songTarget="$repo/song/$version/song-$version-SNAPSHOT" + songTarget="$repo/song/$version-SNAPSHOT/song-$version-SNAPSHOT" fileSet = [files: [ // song [pattern: "pom.xml", target: "${songTarget}.pom"], From d833c103566231361b142667f28d4117c9325272 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 17:20:18 -0500 Subject: [PATCH 63/73] Changed branch tests to (test)?-develop & (test)?-master --- Jenkinsfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6b60064fb..6640835ed 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -66,6 +66,7 @@ spec: stage('Upload Artifact SNAPSHOT') { when { branch 'test' } + when { branch pattern: "(test-)?develop", comparator: "REGEXP"} steps { script { repo = "dcc-snapshot/bio/overture" @@ -133,7 +134,7 @@ spec: } stage('Upload Artifact Release') { - when { branch 'test-release' } + when { branch pattern: "(test-)?master", comparator: "REGEXP"} steps { script { repo = "dcc-release/bio/overture" From 43435cc2e0ea514e2b4931662b0295a05cedc479 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 17:45:58 -0500 Subject: [PATCH 64/73] Add when conditions --- Jenkinsfile | 199 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 127 insertions(+), 72 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 930c8ea4d..335d9b56f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,5 +1,6 @@ def commit = "UNKNOWN" def version = "UNKNOWN" +import groovy.json.JsonOutput pipeline { agent { @@ -58,90 +59,144 @@ spec: stage('Test') { steps { container('jdk') { - sh "./mvnw test" - } - } - } - stage('Build & Publish Develop') { - when { - branch "develop" - } - steps { - container('docker') { - withCredentials([usernamePassword(credentialsId:'OvertureDockerHub', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) { - sh 'docker login -u $USERNAME -p $PASSWORD' - } - sh "docker build --target=server --network=host -f Dockerfile . -t overture/song-server:edge -t overture/song-server:${commit}" - sh "docker build --target=client --network=host -f Dockerfile . -t overture/song-client:edge -t overture/song-client:${commit}" - sh "docker push overture/song-server:${commit}" - sh "docker push overture/song-server:edge" - sh "docker push overture/song-client:${commit}" - sh "docker push overture/song-client:edge" - } - } - } - stage('Release & tag') { - when { - branch "master" - } - steps { - container('docker') { - withCredentials([usernamePassword(credentialsId: 'OvertureBioGithub', passwordVariable: 'GIT_PASSWORD', usernameVariable: 'GIT_USERNAME')]) { - sh "git tag ${version}" - sh "git push https://${GIT_USERNAME}:${GIT_PASSWORD}@github.com/overture-stack/song --tags" - } - withCredentials([usernamePassword(credentialsId:'OvertureDockerHub', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) { - sh 'docker login -u $USERNAME -p $PASSWORD' - } - sh "docker build --target=server --network=host -f Dockerfile . -t overture/song-server:latest -t overture/song-server:${version}" - sh "docker build --target=client --network=host -f Dockerfile . -t overture/song-client:latest -t overture/song-client:${version}" - sh "docker push overture/song-server:${version}" - sh "docker push overture/song-server:latest" - sh "docker push overture/song-client:${version}" - sh "docker push overture/song-client:latest" + sh "./mvnw package -DskipTests " } } } - stage('Deploy to Overture QA') { - when { - branch "develop" - } + stage('Upload Artifact SNAPSHOT') { + when { branch pattern: "(test-)?develop", comparator: "REGEXP"} steps { - container('helm') { - withCredentials([file(credentialsId:'4ed1e45c-b552-466b-8f86-729402993e3b', variable: 'KUBECONFIG')]) { - sh 'env' - sh 'helm init --client-only' - sh "helm ls --kubeconfig $KUBECONFIG" - sh "helm repo add overture https://overture-stack.github.io/charts-server/" - sh """ - helm upgrade --kubeconfig $KUBECONFIG --install --namespace=overture-qa song-overture-qa \\ - overture/song --reuse-values --set-string image.tag=${commit} - """ - } + script { + repo = "dcc-snapshot/bio/overture" + client = "song-client" + clientName = "$client-$version-SNAPSHOT" + clientTarget = "$repo/$client/$version-SNAPSHOT/$clientName" + + server = "song-server" + serverName = "$server-$version-SNAPSHOT" + serverTarget = "$repo/$server/$version-SNAPSHOT/$serverName" + + core = "song-core" + coreName = "$core-$version-SNAPSHOT" + coreTarget = "$repo/$core/$version-SNAPSHOT/$coreName" + + songTarget="$repo/song/$version-SNAPSHOT/song-$version-SNAPSHOT" + fileSet = [files: + [ // song + [pattern: "pom.xml", target: "${songTarget}.pom"], + // song-client + [pattern: "${client}/target/*.tar.gz", + target : "${clientTarget}-dist.tar.gz"], + [pattern: "${client}/target/*-exec.jar", + target : "${clientTarget}-exec.jar"], + [pattern : "$client/target/*.jar", + target : "${clientTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "${client}/pom.xml", + target : "${clientTarget}.pom" + ], + + // song-server + [pattern: "${server}/target/*.tar.gz", + target : "${serverTarget}-dist.tar.gz"], + [pattern: "${server}/target/*-exec.jar", + target : "${serverTarget}-exec.jar"], + [pattern : "$server/target/*.jar", + target : "${serverTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "${server}/pom.xml", + target : "${serverTarget}.pom" + ], + + // song-core + [pattern : "$core/target/*.jar", + target : "${coreTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "$core/pom.xml", + target : "${coreTarget}.pom" + ] + ] + ] + files = JsonOutput.toJson(fileSet) + + print("Upload file specification=${files}") + print("Please work for me!") } + rtUpload(serverId: 'artifactory', + spec: files + ) } } - stage('Deploy to Overture Staging') { - when { - branch "master" - } + stage('Upload Artifact Release') { + when { branch pattern: "(test-)?master", comparator: "REGEXP"} steps { - container('helm') { - withCredentials([file(credentialsId:'4ed1e45c-b552-466b-8f86-729402993e3b', variable: 'KUBECONFIG')]) { - sh 'env' - sh 'helm init --client-only' - sh "helm ls --kubeconfig $KUBECONFIG" - sh "helm repo add overture https://overture-stack.github.io/charts-server/" - sh """ - helm upgrade --kubeconfig $KUBECONFIG --install --namespace=overture-staging song-overture-staging \\ - overture/song --reuse-values --set-string image.tag=${version} - """ - } + script { + repo = "dcc-release/bio/overture" + client = "song-client" + clientName = "$client-$version" + clientTarget = "$repo/$client/$version/$clientName" + + server = "song-server" + serverName = "$server-$version" + serverTarget = "$repo/$server/$version/$serverName" + + core = "song-core" + coreName = "$core-$version" + coreTarget = "$repo/$core/$version/$coreName" + + songTarget="$repo/song/$version/song-$version" + fileSet = [files: + [ // song + [pattern: "pom.xml", target: "${songTarget}.pom"], + // song-client + [pattern: "${client}/target/*.tar.gz", + target : "${clientTarget}-dist.tar.gz"], + [pattern: "${client}/target/*-exec.jar", + target : "${clientTarget}-exec.jar"], + [pattern : "$client/target/*.jar", + target : "${clientTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "${client}/pom.xml", + target : "${clientTarget}.pom" + ], + + // song-server + [pattern: "${server}/target/*.tar.gz", + target : "${serverTarget}-dist.tar.gz"], + [pattern: "${server}/target/*-exec.jar", + target : "${serverTarget}-exec.jar"], + [pattern : "$server/target/*.jar", + target : "${serverTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "${server}/pom.xml", + target : "${serverTarget}.pom" + ], + + // song-core + [pattern : "$core/target/*.jar", + target : "${coreTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "$core/pom.xml", + target : "${coreTarget}.pom" + ] + ] + ] + files = JsonOutput.toJson(fileSet) + + print("Upload file specification=${files}") } + rtUpload(serverId: 'artifactory', + spec: files + ) } } - } } From 6e8664d118f19930cd0701738195c4b9f449e0d8 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 17:54:37 -0500 Subject: [PATCH 65/73] Regexp syntax copied from Jenkins documentation didn't work; trying glob syntax --- Jenkinsfile | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6640835ed..5642b5bcc 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -65,8 +65,7 @@ spec: } stage('Upload Artifact SNAPSHOT') { - when { branch 'test' } - when { branch pattern: "(test-)?develop", comparator: "REGEXP"} + when { branch '*develop' } steps { script { repo = "dcc-snapshot/bio/overture" @@ -134,7 +133,7 @@ spec: } stage('Upload Artifact Release') { - when { branch pattern: "(test-)?master", comparator: "REGEXP"} + when { branch '*master' } steps { script { repo = "dcc-release/bio/overture" @@ -193,7 +192,6 @@ spec: files = JsonOutput.toJson(fileSet) print("Upload file specification=${files}") - print("Please work for me!") } rtUpload(serverId: 'artifactory', spec: files From 4fe34679db196a0ed21f2cac4e1e178480e60ab5 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 18:20:20 -0500 Subject: [PATCH 66/73] Trying syntax again --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 39f8c1f2d..f1f383301 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -66,7 +66,7 @@ spec: stage('Upload Artifact SNAPSHOT') { - when { branch pattern: "(test-)?develop", comparator: "REGEXP"} + when { branch pattern: "*develop", comparator: "REGEXP"} steps { script { repo = "dcc-snapshot/bio/overture" @@ -134,7 +134,7 @@ spec: } stage('Upload Artifact Release') { - when { branch pattern: "(test-)?master", comparator: "REGEXP"} + when { branch pattern: "*master", comparator: "REGEXP"} steps { script { repo = "dcc-release/bio/overture" From 6bfd571e0dbc31fe019fedcfb7c6061ed0033d20 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 18:24:40 -0500 Subject: [PATCH 67/73] Changed to any in when clause --- Jenkinsfile | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index f1f383301..f2ad8495b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -66,7 +66,11 @@ spec: stage('Upload Artifact SNAPSHOT') { - when { branch pattern: "*develop", comparator: "REGEXP"} + when { anyOf { + branch 'test-develop' + branch 'develop' + } + } steps { script { repo = "dcc-snapshot/bio/overture" @@ -134,7 +138,10 @@ spec: } stage('Upload Artifact Release') { - when { branch pattern: "*master", comparator: "REGEXP"} + when { anyOf { + branch 'master' + branch 'test-master' + }} steps { script { repo = "dcc-release/bio/overture" From 6582687c3172e9648b591114ff2b7345f04974c6 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 18:36:47 -0500 Subject: [PATCH 68/73] Merged in deployment code --- Jenkinsfile | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 144 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 930c8ea4d..1d461280a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,6 +1,8 @@ def commit = "UNKNOWN" def version = "UNKNOWN" +import groovy.json.JsonOutput + pipeline { agent { kubernetes { @@ -58,7 +60,7 @@ spec: stage('Test') { steps { container('jdk') { - sh "./mvnw test" + sh "./mvnw test package" } } } @@ -142,6 +144,147 @@ spec: } } } + stage('Upload Artifact SNAPSHOT') { + + when { anyOf { + branch 'test-develop' + branch 'develop' + } + } + steps { + script { + repo = "dcc-snapshot/bio/overture" + client = "song-client" + clientName = "$client-$version-SNAPSHOT" + clientTarget = "$repo/$client/$version-SNAPSHOT/$clientName" + + server = "song-server" + serverName = "$server-$version-SNAPSHOT" + serverTarget = "$repo/$server/$version-SNAPSHOT/$serverName" + + core = "song-core" + coreName = "$core-$version-SNAPSHOT" + coreTarget = "$repo/$core/$version-SNAPSHOT/$coreName" + + songTarget="$repo/song/$version-SNAPSHOT/song-$version-SNAPSHOT" + fileSet = [files: + [ // song + [pattern: "pom.xml", target: "${songTarget}.pom"], + // song-client + [pattern: "${client}/target/*.tar.gz", + target : "${clientTarget}-dist.tar.gz"], + [pattern: "${client}/target/*-exec.jar", + target : "${clientTarget}-exec.jar"], + [pattern : "$client/target/*.jar", + target : "${clientTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "${client}/pom.xml", + target : "${clientTarget}.pom" + ], + + // song-server + [pattern: "${server}/target/*.tar.gz", + target : "${serverTarget}-dist.tar.gz"], + [pattern: "${server}/target/*-exec.jar", + target : "${serverTarget}-exec.jar"], + [pattern : "$server/target/*.jar", + target : "${serverTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "${server}/pom.xml", + target : "${serverTarget}.pom" + ], + + // song-core + [pattern : "$core/target/*.jar", + target : "${coreTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "$core/pom.xml", + target : "${coreTarget}.pom" + ] + ] + ] + files = JsonOutput.toJson(fileSet) + + print("Upload file specification=${files}") + print("Please work for me!") + } + rtUpload(serverId: 'artifactory', + spec: files + ) + } + } + + stage('Upload Artifact Release') { + when { anyOf { + branch 'master' + branch 'test-master' + }} + steps { + script { + repo = "dcc-release/bio/overture" + client = "song-client" + clientName = "$client-$version" + clientTarget = "$repo/$client/$version/$clientName" + + server = "song-server" + serverName = "$server-$version" + serverTarget = "$repo/$server/$version/$serverName" + + core = "song-core" + coreName = "$core-$version" + coreTarget = "$repo/$core/$version/$coreName" + songTarget="$repo/song/$version/song-$version" + fileSet = [files: + [ // song + [pattern: "pom.xml", target: "${songTarget}.pom"], + // song-client + [pattern: "${client}/target/*.tar.gz", + target : "${clientTarget}-dist.tar.gz"], + [pattern: "${client}/target/*-exec.jar", + target : "${clientTarget}-exec.jar"], + [pattern : "$client/target/*.jar", + target : "${clientTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "${client}/pom.xml", + target : "${clientTarget}.pom" + ], + + // song-server + [pattern: "${server}/target/*.tar.gz", + target : "${serverTarget}-dist.tar.gz"], + [pattern: "${server}/target/*-exec.jar", + target : "${serverTarget}-exec.jar"], + [pattern : "$server/target/*.jar", + target : "${serverTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "${server}/pom.xml", + target : "${serverTarget}.pom" + ], + + // song-core + [pattern : "$core/target/*.jar", + target : "${coreTarget}.jar", + excludePatterns: ["*-exec.jar"] + ], + [pattern: "$core/pom.xml", + target : "${coreTarget}.pom" + ] + ] + ] + files = JsonOutput.toJson(fileSet) + + print("Upload file specification=${files}") + } + rtUpload(serverId: 'artifactory', + spec: files + ) + } + } } } From 1b55ab331ee116ec065f992479656baa142f9fb8 Mon Sep 17 00:00:00 2001 From: khartmann Date: Wed, 20 Nov 2019 19:00:33 -0500 Subject: [PATCH 69/73] Removed duplicates --- Jenkinsfile | 142 ---------------------------------------------------- 1 file changed, 142 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index f046bc99b..d4b11ddfe 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -179,148 +179,6 @@ spec: } } - stage('Upload Artifact Release') { - when { anyOf { - branch 'master' - branch 'test-master' - }} - steps { - script { - repo = "dcc-release/bio/overture" - client = "song-client" - clientName = "$client-$version" - clientTarget = "$repo/$client/$version/$clientName" - - server = "song-server" - serverName = "$server-$version" - serverTarget = "$repo/$server/$version/$serverName" - - core = "song-core" - coreName = "$core-$version" - coreTarget = "$repo/$core/$version/$coreName" - - songTarget="$repo/song/$version/song-$version" - fileSet = [files: - [ // song - [pattern: "pom.xml", target: "${songTarget}.pom"], - // song-client - [pattern: "${client}/target/*.tar.gz", - target : "${clientTarget}-dist.tar.gz"], - [pattern: "${client}/target/*-exec.jar", - target : "${clientTarget}-exec.jar"], - [pattern : "$client/target/*.jar", - target : "${clientTarget}.jar", - excludePatterns: ["*-exec.jar"] - ], - [pattern: "${client}/pom.xml", - target : "${clientTarget}.pom" - ], - - // song-server - [pattern: "${server}/target/*.tar.gz", - target : "${serverTarget}-dist.tar.gz"], - [pattern: "${server}/target/*-exec.jar", - target : "${serverTarget}-exec.jar"], - [pattern : "$server/target/*.jar", - target : "${serverTarget}.jar", - excludePatterns: ["*-exec.jar"] - ], - [pattern: "${server}/pom.xml", - target : "${serverTarget}.pom" - ], - - // song-core - [pattern : "$core/target/*.jar", - target : "${coreTarget}.jar", - excludePatterns: ["*-exec.jar"] - ], - [pattern: "$core/pom.xml", - target : "${coreTarget}.pom" - ] - ] - ] - files = JsonOutput.toJson(fileSet) - - print("Upload file specification=${files}") - } - rtUpload(serverId: 'artifactory', - spec: files - ) - } - } - stage('Upload Artifact SNAPSHOT') { - - when { anyOf { - branch 'test-develop' - branch 'develop' - } - } - steps { - script { - repo = "dcc-snapshot/bio/overture" - client = "song-client" - clientName = "$client-$version-SNAPSHOT" - clientTarget = "$repo/$client/$version-SNAPSHOT/$clientName" - - server = "song-server" - serverName = "$server-$version-SNAPSHOT" - serverTarget = "$repo/$server/$version-SNAPSHOT/$serverName" - - core = "song-core" - coreName = "$core-$version-SNAPSHOT" - coreTarget = "$repo/$core/$version-SNAPSHOT/$coreName" - - songTarget="$repo/song/$version-SNAPSHOT/song-$version-SNAPSHOT" - fileSet = [files: - [ // song - [pattern: "pom.xml", target: "${songTarget}.pom"], - // song-client - [pattern: "${client}/target/*.tar.gz", - target : "${clientTarget}-dist.tar.gz"], - [pattern: "${client}/target/*-exec.jar", - target : "${clientTarget}-exec.jar"], - [pattern : "$client/target/*.jar", - target : "${clientTarget}.jar", - excludePatterns: ["*-exec.jar"] - ], - [pattern: "${client}/pom.xml", - target : "${clientTarget}.pom" - ], - - // song-server - [pattern: "${server}/target/*.tar.gz", - target : "${serverTarget}-dist.tar.gz"], - [pattern: "${server}/target/*-exec.jar", - target : "${serverTarget}-exec.jar"], - [pattern : "$server/target/*.jar", - target : "${serverTarget}.jar", - excludePatterns: ["*-exec.jar"] - ], - [pattern: "${server}/pom.xml", - target : "${serverTarget}.pom" - ], - - // song-core - [pattern : "$core/target/*.jar", - target : "${coreTarget}.jar", - excludePatterns: ["*-exec.jar"] - ], - [pattern: "$core/pom.xml", - target : "${coreTarget}.pom" - ] - ] - ] - files = JsonOutput.toJson(fileSet) - - print("Upload file specification=${files}") - print("Please work for me!") - } - rtUpload(serverId: 'artifactory', - spec: files - ) - } - } - stage('Upload Artifact Release') { when { anyOf { branch 'master' From 2656dd8d8a6db985c1979a03e7c1e8a8cfe7db1e Mon Sep 17 00:00:00 2001 From: khartmann Date: Thu, 21 Nov 2019 18:31:48 -0500 Subject: [PATCH 70/73] Converted Jenkinsfile to use same code as score. Updated pom files to use -SNAPSHOT --- Jenkinsfile | 206 ++++++++++++++++---------------------------- pom.xml | 2 +- song-client/pom.xml | 2 +- song-core/pom.xml | 2 +- song-server/pom.xml | 2 +- 5 files changed, 80 insertions(+), 134 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index d4b11ddfe..ef21ce366 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,8 +1,29 @@ -def commit = "UNKNOWN" -def version = "UNKNOWN" import groovy.json.JsonOutput -import groovy.json.JsonOutput +def version = "UNKNOWN" +def commit = "UNKNOWN" +def repo = "UNKNOWN" + +def pom(path, target) { + return [pattern: "${path}/pom.xml", target: "${target}.pom"] +} + +def jar(path, target) { + return [pattern: "${path}/target/*.jar", + target : "${target}.jar", + excludePatterns: ["*-exec.jar"] + ] +} + +def tar(path, target) { + return [pattern: "${path}/target/*.tar.gz", + target : "${target}-dist.tar.gz"] +} + +def runjar(path, target) { + return [pattern: "${path}/target/*-exec.jar", + target : "${target}-exec.jar"] +} pipeline { agent { @@ -106,146 +127,71 @@ spec: } } - stage('Upload Artifact SNAPSHOT') { - - when { anyOf { - branch 'test-develop' - branch 'develop' - } - } + stage('Destination SNAPSHOT') { + when { + anyOf { + branch 'develop' + branch 'test-develop' + } + } steps { script { repo = "dcc-snapshot/bio/overture" - client = "song-client" - clientName = "$client-$version-SNAPSHOT" - clientTarget = "$repo/$client/$version-SNAPSHOT/$clientName" - - server = "song-server" - serverName = "$server-$version-SNAPSHOT" - serverTarget = "$repo/$server/$version-SNAPSHOT/$serverName" - - core = "song-core" - coreName = "$core-$version-SNAPSHOT" - coreTarget = "$repo/$core/$version-SNAPSHOT/$coreName" - - songTarget="$repo/song/$version-SNAPSHOT/song-$version-SNAPSHOT" - fileSet = [files: - [ // song - [pattern: "pom.xml", target: "${songTarget}.pom"], - // song-client - [pattern: "${client}/target/*.tar.gz", - target : "${clientTarget}-dist.tar.gz"], - [pattern: "${client}/target/*-exec.jar", - target : "${clientTarget}-exec.jar"], - [pattern : "$client/target/*.jar", - target : "${clientTarget}.jar", - excludePatterns: ["*-exec.jar"] - ], - [pattern: "${client}/pom.xml", - target : "${clientTarget}.pom" - ], - - // song-server - [pattern: "${server}/target/*.tar.gz", - target : "${serverTarget}-dist.tar.gz"], - [pattern: "${server}/target/*-exec.jar", - target : "${serverTarget}-exec.jar"], - [pattern : "$server/target/*.jar", - target : "${serverTarget}.jar", - excludePatterns: ["*-exec.jar"] - ], - [pattern: "${server}/pom.xml", - target : "${serverTarget}.pom" - ], - - // song-core - [pattern : "$core/target/*.jar", - target : "${coreTarget}.jar", - excludePatterns: ["*-exec.jar"] - ], - [pattern: "$core/pom.xml", - target : "${coreTarget}.pom" - ] - ] - ] - files = JsonOutput.toJson(fileSet) - - print("Upload file specification=${files}") - print("Please work for me!") } - rtUpload(serverId: 'artifactory', - spec: files - ) } } - stage('Upload Artifact Release') { - when { anyOf { - branch 'master' - branch 'test-master' - }} + stage('Destination release') { + when { + anyOf { + branch 'master' + branch 'test-master' + } + } steps { script { repo = "dcc-release/bio/overture" - client = "song-client" - clientName = "$client-$version" - clientTarget = "$repo/$client/$version/$clientName" - - server = "song-server" - serverName = "$server-$version" - serverTarget = "$repo/$server/$version/$serverName" - - core = "song-core" - coreName = "$core-$version" - coreTarget = "$repo/$core/$version/$coreName" - - songTarget="$repo/song/$version/song-$version" - fileSet = [files: - [ // song - [pattern: "pom.xml", target: "${songTarget}.pom"], - // song-client - [pattern: "${client}/target/*.tar.gz", - target : "${clientTarget}-dist.tar.gz"], - [pattern: "${client}/target/*-exec.jar", - target : "${clientTarget}-exec.jar"], - [pattern : "$client/target/*.jar", - target : "${clientTarget}.jar", - excludePatterns: ["*-exec.jar"] - ], - [pattern: "${client}/pom.xml", - target : "${clientTarget}.pom" - ], - - // song-server - [pattern: "${server}/target/*.tar.gz", - target : "${serverTarget}-dist.tar.gz"], - [pattern: "${server}/target/*-exec.jar", - target : "${serverTarget}-exec.jar"], - [pattern : "$server/target/*.jar", - target : "${serverTarget}.jar", - excludePatterns: ["*-exec.jar"] - ], - [pattern: "${server}/pom.xml", - target : "${serverTarget}.pom" - ], + } + } + } - // song-core - [pattern : "$core/target/*.jar", - target : "${coreTarget}.jar", - excludePatterns: ["*-exec.jar"] - ], - [pattern: "$core/pom.xml", - target : "${coreTarget}.pom" - ] - ] - ] - files = JsonOutput.toJson(fileSet) + stage('Upload Artifacts') { + when { + anyOf { + branch 'master' + branch 'test-master' + branch 'develop' + branch 'test-develop' + } + } + steps { + script { + + project = "song" + versionName = "$version" + subProjects = ['client', 'core', 'server'] + + files = [] + files.add([pattern: "pom.xml", target: "$repo/$project/$versionName/$project-${versionName}.pom"]) + + for (s in subProjects) { + name = "${project}-$s" + target = "$repo/$name/$versionName/$name-$versionName" + files.add(pom(name, target)) + files.add(jar(name, target)) + + if (s in ['client', 'server']) { + files.add(runjar(name, target)) + files.add(tar(name, target)) + } + } - print("Upload file specification=${files}") + fileSet = JsonOutput.toJson([files: files]) + pretty = JsonOutput.prettyPrint(fileSet) + print("Uploading files=${pretty}") } - rtUpload(serverId: 'artifactory', - spec: files - ) + + rtUpload(serverId: 'artifactory', spec: fileSet) } } } diff --git a/pom.xml b/pom.xml index 8dfa550a1..24951ec65 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ bio.overture song pom - 2.2.0 + 2.2.0-SNAPSHOT song-core song-java-sdk diff --git a/song-client/pom.xml b/song-client/pom.xml index 8f39c154c..bf7ee994f 100644 --- a/song-client/pom.xml +++ b/song-client/pom.xml @@ -18,7 +18,7 @@ song bio.overture - 2.2.0 + 2.2.0-SNAPSHOT 4.0.0 diff --git a/song-core/pom.xml b/song-core/pom.xml index 863b263f1..7830101f4 100644 --- a/song-core/pom.xml +++ b/song-core/pom.xml @@ -19,7 +19,7 @@ song bio.overture - 2.2.0 + 2.2.0-SNAPSHOT 4.0.0 diff --git a/song-server/pom.xml b/song-server/pom.xml index d8f113d3c..9671f912e 100644 --- a/song-server/pom.xml +++ b/song-server/pom.xml @@ -19,7 +19,7 @@ song bio.overture - 2.2.0 + 2.2.0-SNAPSHOT 4.0.0 From e4bc43b9af631b1706b49b32ffb5419f7db40d40 Mon Sep 17 00:00:00 2001 From: khartmann Date: Fri, 22 Nov 2019 16:56:55 -0500 Subject: [PATCH 71/73] Updated version numbers --- pom.xml | 2 +- song-client/pom.xml | 6 +++--- song-core/pom.xml | 2 +- song-java-sdk/pom.xml | 2 +- song-server/pom.xml | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index 24951ec65..ccfeea9b2 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ bio.overture song pom - 2.2.0-SNAPSHOT + 3.0.1-SNAPSHOT song-core song-java-sdk diff --git a/song-client/pom.xml b/song-client/pom.xml index bf7ee994f..f2bd2ee54 100644 --- a/song-client/pom.xml +++ b/song-client/pom.xml @@ -18,7 +18,7 @@ song bio.overture - 2.2.0-SNAPSHOT + 3.0.1-SNAPSHOT 4.0.0 @@ -35,12 +35,12 @@ bio.overture song-java-sdk - 2.2.0 + 3.0.1-SNAPSHOT bio.overture song-core - 2.2.0 + 3.0.1-SNAPSHOT diff --git a/song-core/pom.xml b/song-core/pom.xml index 7830101f4..7cfe5727c 100644 --- a/song-core/pom.xml +++ b/song-core/pom.xml @@ -19,7 +19,7 @@ song bio.overture - 2.2.0-SNAPSHOT + 3.0.1-SNAPSHOT 4.0.0 diff --git a/song-java-sdk/pom.xml b/song-java-sdk/pom.xml index c602c780e..20c6606b6 100644 --- a/song-java-sdk/pom.xml +++ b/song-java-sdk/pom.xml @@ -18,7 +18,7 @@ song bio.overture - 2.2.0 + 3.0.1-SNAPSHOT 4.0.0 diff --git a/song-server/pom.xml b/song-server/pom.xml index 9671f912e..ade3ed0b9 100644 --- a/song-server/pom.xml +++ b/song-server/pom.xml @@ -19,7 +19,7 @@ song bio.overture - 2.2.0-SNAPSHOT + 3.0.1-SNAPSHOT 4.0.0 @@ -37,7 +37,7 @@ bio.overture song-core - 2.2.0 + 3.0.1-SNAPSHOT From 8be8e623c979853ad6780f3f98175834d67c54eb Mon Sep 17 00:00:00 2001 From: Robert Tisma <942951+rtisma@users.noreply.github.com> Date: Tue, 26 Nov 2019 11:13:56 -0500 Subject: [PATCH 72/73] added bootstrap.properties to classpath and fixed makefile issue --- Dockerfile | 2 +- Dockerfile.dev | 2 +- Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index bb7772c67..a1de5ea87 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,4 +44,4 @@ WORKDIR $SONG_HOME CMD mkdir -p $SONG_HOME $SONG_LOGS \ && java -Dlog.path=$SONG_LOGS \ -jar $JAR_FILE \ - --spring.config.location=classpath:/application.yml + --spring.config.location=classpath:/bootstrap.properties,classpath:/application.yml diff --git a/Dockerfile.dev b/Dockerfile.dev index ddaef2fe5..8939cc2ee 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -36,4 +36,4 @@ WORKDIR $SONG_HOME CMD mkdir -p $SONG_HOME $SONG_LOGS \ && java -Dlog.path=$SONG_LOGS \ -jar $JAR_FILE \ - --spring.config.location=classpath:/application.yml,classpath:/bootstrap.properties + --spring.config.location=classpath:/bootstrap.properties,classpath:/application.yml diff --git a/Makefile b/Makefile index 7a7e45699..fb3af24e7 100644 --- a/Makefile +++ b/Makefile @@ -237,7 +237,7 @@ get-analysis-id: test-submit: start-song-server _ping_song_server @echo $(YELLOW)$(INFO_HEADER) "Submitting payload /data/submit/exampleVariantCall.json" $(END) - @$(SONG_CLIENT_CMD) submit -f /data/submit/exampleVariantCall.json |& tee $(SONG_CLIENT_SUBMIT_RESPONSE_FILE) + @$(SONG_CLIENT_CMD) submit -f /data/submit/exampleVariantCall.json | tee $(SONG_CLIENT_SUBMIT_RESPONSE_FILE) @cat $(SONG_CLIENT_SUBMIT_RESPONSE_FILE) | grep analysisId | sed 's/.*://' | sed 's/"\|,//g' > $(SONG_CLIENT_ANALYSIS_ID_FILE) @echo $(YELLOW)$(INFO_HEADER) "Successfully submitted. Cached analysisId: " $$($(GET_ANALYSIS_ID_CMD)) $(END) From 38dcee0ee963bdbc9d7972cf73c34cd8da9100d5 Mon Sep 17 00:00:00 2001 From: Robert Tisma <942951+rtisma@users.noreply.github.com> Date: Tue, 26 Nov 2019 15:49:29 -0500 Subject: [PATCH 73/73] Release 3.0.1 --- pom.xml | 2 +- song-client/pom.xml | 6 +++--- song-core/pom.xml | 2 +- song-java-sdk/pom.xml | 2 +- song-server/pom.xml | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index ccfeea9b2..e499214be 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ bio.overture song pom - 3.0.1-SNAPSHOT + 3.0.1 song-core song-java-sdk diff --git a/song-client/pom.xml b/song-client/pom.xml index f2bd2ee54..0b7b6b442 100644 --- a/song-client/pom.xml +++ b/song-client/pom.xml @@ -18,7 +18,7 @@ song bio.overture - 3.0.1-SNAPSHOT + 3.0.1 4.0.0 @@ -35,12 +35,12 @@ bio.overture song-java-sdk - 3.0.1-SNAPSHOT + 3.0.1 bio.overture song-core - 3.0.1-SNAPSHOT + 3.0.1 diff --git a/song-core/pom.xml b/song-core/pom.xml index 7cfe5727c..b3f299d96 100644 --- a/song-core/pom.xml +++ b/song-core/pom.xml @@ -19,7 +19,7 @@ song bio.overture - 3.0.1-SNAPSHOT + 3.0.1 4.0.0 diff --git a/song-java-sdk/pom.xml b/song-java-sdk/pom.xml index 20c6606b6..a11202050 100644 --- a/song-java-sdk/pom.xml +++ b/song-java-sdk/pom.xml @@ -18,7 +18,7 @@ song bio.overture - 3.0.1-SNAPSHOT + 3.0.1 4.0.0 diff --git a/song-server/pom.xml b/song-server/pom.xml index ade3ed0b9..1cda9e6c7 100644 --- a/song-server/pom.xml +++ b/song-server/pom.xml @@ -19,7 +19,7 @@ song bio.overture - 3.0.1-SNAPSHOT + 3.0.1 4.0.0 @@ -37,7 +37,7 @@ bio.overture song-core - 3.0.1-SNAPSHOT + 3.0.1