From 11e8e7aa3b498df3c3d210b61ee233a0b8b5f65e Mon Sep 17 00:00:00 2001 From: John Blum Date: Wed, 7 Apr 2021 21:31:22 -0700 Subject: [PATCH] Login as 'root' when forking the Docker containers used to deploy artifacts & docs. Reinstate the declaration of the 'user.name' Java System System Property set to 'jenkins' during the Build phase (check). Execute chown command to change the owner of the SBDG build directory to 'jenkins' prior to deploying artifacts & docs. Declare the 'user.name' (set to 'jenkins') and `java.io.tmpdir' (set to '/tmp') Java System Properties in Gradle Options prior to deploying artifacts & docs. --- Jenkinsfile | 4 ++-- ci/check.sh | 2 +- ci/deployArtifacts.sh | 22 +++++++++++++--------- ci/deployDocs.sh | 12 ++++++++---- ci/setup.sh | 4 +++- 5 files changed, 27 insertions(+), 17 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1fd98f73..6986de98 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -68,7 +68,7 @@ pipeline { steps { script { docker.withRegistry('', 'hub.docker.com-springbuildmaster') { - docker.image('adoptopenjdk/openjdk8:latest') { + docker.image('adoptopenjdk/openjdk8:latest').inside("-u root") { withCredentials([file(credentialsId: 'spring-signing-secring.gpg', variable: 'SIGNING_KEYRING_FILE')]) { withCredentials([string(credentialsId: 'spring-gpg-passphrase', variable: 'SIGNING_PASSWORD')]) { withCredentials([usernamePassword(credentialsId: 'oss-token', passwordVariable: 'OSSRH_PASSWORD', usernameVariable: 'OSSRH_USERNAME')]) { @@ -93,7 +93,7 @@ pipeline { steps { script { docker.withRegistry('', 'hub.docker.com-springbuildmaster') { - docker.image('adoptopenjdk/openjdk8:latest') { + docker.image('adoptopenjdk/openjdk8:latest').inside("-u root") { withCredentials([file(credentialsId: 'docs.spring.io-jenkins_private_ssh_key', variable: 'DEPLOY_SSH_KEY')]) { try { sh "ci/deployDocs.sh" diff --git a/ci/check.sh b/ci/check.sh index 0cb75836..f313e63f 100755 --- a/ci/check.sh +++ b/ci/check.sh @@ -2,5 +2,5 @@ set -eou pipefail -GRADLE_OPTS="-Djava.io.tmpdir=/tmp -Dgradle.user.home=/tmp/geode-build-cache" \ +GRADLE_OPTS="-Duser.name=jenkins -Djava.io.tmpdir=/tmp -Dgradle.user.home=/tmp/geode-build-cache" \ ./gradlew clean check --no-daemon --refresh-dependencies --stacktrace diff --git a/ci/deployArtifacts.sh b/ci/deployArtifacts.sh index bc1b54da..f12d19cb 100755 --- a/ci/deployArtifacts.sh +++ b/ci/deployArtifacts.sh @@ -2,13 +2,17 @@ set -eou pipefail -echo "Logged in as user [$USER] with home directory [$HOME] in the current working directory [$PWD]" +# User ID 1001 is "jenkins" +# Group ID 1001 is "jenkins" +# Syntax: `chown -R userId:groupId .` +chown -R 1001:1001 . -./gradlew deployArtifacts finalizeDeployArtifacts --no-build-cache- --no-configuration-cache --no-daemon --stacktrace \ - -PartifactoryUsername=$ARTIFACTORY_USERNAME \ - -PartifactoryPassword=$ARTIFACTORY_PASSWORD \ - -PossrhUsername=$OSSRH_USERNAME \ - -PossrhPassword=$OSSRH_PASSWORD \ - -Psigning.keyId=$SPRING_SIGNING_KEYID \ - -Psigning.password=$SIGNING_PASSWORD \ - -Psigning.secretKeyRingFile=$SIGNING_KEYRING_FILE +GRADLE_OPTS="-Duser.name=jenkins -Djava.io.tmpdir=/tmp" \ + ./gradlew deployArtifacts finalizeDeployArtifacts --no-build-cache- --no-configuration-cache --no-daemon --stacktrace \ + -PartifactoryUsername=$ARTIFACTORY_USERNAME \ + -PartifactoryPassword=$ARTIFACTORY_PASSWORD \ + -PossrhUsername=$OSSRH_USERNAME \ + -PossrhPassword=$OSSRH_PASSWORD \ + -Psigning.keyId=$SPRING_SIGNING_KEYID \ + -Psigning.password=$SIGNING_PASSWORD \ + -Psigning.secretKeyRingFile=$SIGNING_KEYRING_FILE diff --git a/ci/deployDocs.sh b/ci/deployDocs.sh index 9c75c734..72ca2359 100755 --- a/ci/deployDocs.sh +++ b/ci/deployDocs.sh @@ -2,8 +2,12 @@ set -eou pipefail -echo "Logged in as user [$USER] with home directory [$HOME] in the current working directory [$PWD]" +# User ID 1001 is "jenkins" +# Group ID 1001 is "jenkins" +# Syntax: `chown -R userId:groupId .` +chown -R 1001:1001 . -./gradlew deployDocs --no-daemon --stacktrace \ - -PdeployDocsSshKeyPath=$DEPLOY_SSH_KEY \ - -PdeployDocsSshUsername=$SPRING_DOCS_USERNAME +GRADLE_OPTS="-Duser.name=jenkins -Djava.io.tmpdir=/tmp" \ + ./gradlew deployDocs --no-daemon --stacktrace \ + -PdeployDocsSshKeyPath=$DEPLOY_SSH_KEY \ + -PdeployDocsSshUsername=$SPRING_DOCS_USERNAME diff --git a/ci/setup.sh b/ci/setup.sh index 4f7ee33f..11cbd061 100755 --- a/ci/setup.sh +++ b/ci/setup.sh @@ -1,6 +1,8 @@ #!/bin/bash -x -## User ID 1001 is "jenkins" +# User ID 1001 is "jenkins" +# Group ID 1001 is "jenkins" +# Syntax: `chown -R userId:groupId .` echo "Logged in as user [$USER] with home directory [$HOME] in the current working directory [$PWD]" chown -R 1001:1001 .