Add Jenkins user to Docker image earlier
Docker Setup stage fails with a permissions error if run in the existing manner.
This appends the user creation to the Dockerfile so that the commands get run as
root.
Change-Id: Ib9deee967586792e8c932c875a34bd3ff5aec918
Signed-off-by: Wesley Hirsch <wesley.hirsch@riftio.com>
diff --git a/jenkins/ci-pipelines/ci_stage_2.groovy b/jenkins/ci-pipelines/ci_stage_2.groovy
index 45cbc7d..45bf777 100644
--- a/jenkins/ci-pipelines/ci_stage_2.groovy
+++ b/jenkins/ci-pipelines/ci_stage_2.groovy
@@ -45,16 +45,12 @@
container_name = "${project}-${branch}".toLowerCase()
stage('Docker-Build') {
+ sh "echo 'RUN groupadd -o -g " + "id -g".execute().text + " -r jenkins \\' >> Dockerfile"
+ sh "echo ' && useradd -o -u " + "id -u".execute().text + " --create-home -r -g jenkins jenkins' >> Dockerfile"
sh "docker build -t ${container_name} ."
}
withDockerContainer("${container_name}") {
- stage('Docker-Setup') {
- sh '''
- groupadd -o -g $(id -g) -r jenkins
- useradd -o -u $(id -u) --create-home -r -g jenkins jenkins
- '''
- }
stage('Test') {
sh 'devops-stages/stage-test.sh'
}