From a84d448e08c95132f18649ad8cb394dddc188238 Mon Sep 17 00:00:00 2001 From: James Strachan Date: Tue, 30 Jan 2018 11:06:39 +0000 Subject: [PATCH 1/2] getting ready for the new shiny pipeline stuff --- Jenkinsfile | 42 ++++++++++++++++++++++++++++++++++++------ jx/scripts/release.sh | 23 +++++++++++++++++++++++ 2 files changed, 59 insertions(+), 6 deletions(-) create mode 100755 jx/scripts/release.sh diff --git a/Jenkinsfile b/Jenkinsfile index e4c8d34..5b59309 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,15 +1,45 @@ pipeline { + environment { + GH_CREDS = credentials('jenkins-x-github') + } agent { label "jenkins-maven" } stages { - stage('Maven Release') { + stage('CI Build') { + when { + branch 'PR-*' + } + steps { + checkout scm + container('maven') { + sh "mvn clean install" + } + } + } + + stage('Build and Push Release') { + when { + branch 'master' + } steps { - mavenFlow { - cdOrganisation "jenkins-x" - useStaging false - useSonatype true - pauseOnFailure true + checkout scm + container('maven') { + // until kubernetes plugin supports init containers https://github.com/jenkinsci/kubernetes-plugin/pull/229/ + sh 'cp /root/netrc/.netrc ~/.netrc' + + sh "git checkout master" + sh "jx-release-version > /tmp/version" + + sh "git branch release-\$(cat /tmp/version)" + sh "git checkout release-\$(cat /tmp/version)" + + sh "mvn versions:set -DnewVersion=\$(cat /tmp/version)" + sh "mvn deploy" + + + sh "git commit -a -m 'release \$(cat /tmp/version)'" + sh "git push origin release-\$(cat /tmp/version)" } } } diff --git a/jx/scripts/release.sh b/jx/scripts/release.sh new file mode 100755 index 0000000..c30ac39 --- /dev/null +++ b/jx/scripts/release.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +# ensure we're not on a detached head +git checkout master + +# until we switch to the new kubernetes / jenkins credential implementation use git credentials store +git config credential.helper store + +# so we can retrieve the version in later steps +echo $(jx-release-version) > target/VERSION +mvn versions:set -DnewVersion=$(cat target/VERSION) + +mvn clean -B +mvn -V -B -e -U install org.sonatype.plugins:nexus-staging-maven-plugin:1.6.7:deploy -P release -P openshift -DnexusUrl=https://oss.sonatype.org -DserverId=oss-sonatype-staging + +# now the sonatype repo ids will be on disk + +#jx step nexus_release + +#git commit -a -m 'release $(cat target/VERSION)' +#git push origin release-$(cat target/VERSION) + + From f8c4bc33f3bdc37f551baee4caea551c2281be6b Mon Sep 17 00:00:00 2001 From: James Strachan Date: Tue, 30 Jan 2018 11:08:18 +0000 Subject: [PATCH 2/2] lets use the new script --- Jenkinsfile | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 5b59309..8af56f1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -25,21 +25,7 @@ pipeline { steps { checkout scm container('maven') { - // until kubernetes plugin supports init containers https://github.com/jenkinsci/kubernetes-plugin/pull/229/ - sh 'cp /root/netrc/.netrc ~/.netrc' - - sh "git checkout master" - sh "jx-release-version > /tmp/version" - - sh "git branch release-\$(cat /tmp/version)" - sh "git checkout release-\$(cat /tmp/version)" - - sh "mvn versions:set -DnewVersion=\$(cat /tmp/version)" - sh "mvn deploy" - - - sh "git commit -a -m 'release \$(cat /tmp/version)'" - sh "git push origin release-\$(cat /tmp/version)" + sh './jx/scripts/release.sh' } } }