Merge pull request #631 from lw346/master

Persist the permissions of the source file when copying overrides.
This commit is contained in:
R. Tyler Croy 2018-02-07 11:28:13 -08:00 committed by GitHub
commit 2a24890601
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 20 additions and 3 deletions

3
.gitignore vendored
View File

@ -1 +1,4 @@
*.tmp
bats/
tests/functions/init.groovy.d/
tests/functions/copy_reference_file.log

View File

@ -98,7 +98,7 @@ copy_reference_file() {
action=${action:-"INSTALLED"}
log=true
mkdir -p "$JENKINS_HOME/${dir:23}"
cp -r "${f}" "$JENKINS_HOME/${rel}";
cp -pr "${f}" "$JENKINS_HOME/${rel}";
# pin plugins on initial copy
touch "$JENKINS_HOME/${rel}.pinned"
echo "$image_version" > "$JENKINS_HOME/${version_marker}"
@ -112,7 +112,7 @@ copy_reference_file() {
action="INSTALLED"
log=true
mkdir -p "$JENKINS_HOME/${dir:23}"
cp -r "${f}" "$JENKINS_HOME/${rel}";
cp -pr "${f}" "$JENKINS_HOME/${rel}";
else
action="SKIPPED"
fi
@ -124,4 +124,4 @@ copy_reference_file() {
echo "$action $rel : $reason" >> "$COPY_REFERENCE_FILE_LOG"
fi
fi
}
}

View File

@ -29,3 +29,13 @@ SUT_IMAGE=$(sut_image)
run docker run --rm $SUT_IMAGE bash -c "source /usr/local/bin/jenkins-support && versionLT 1.0-beta-1 1.0-alpha-1"
assert_failure
}
@test "permissions are propagated from override file" {
run docker_build_child $SUT_IMAGE-functions $BATS_TEST_DIRNAME/functions
assert_success
# replace DOS line endings \r\n
run bash -c "docker run -v $BATS_TEST_DIRNAME/functions:/var/jenkins_home --rm $SUT_IMAGE-functions stat -c '%a' /var/jenkins_home/.ssh/config"
assert_success
assert_line '600'
}

View File

View File

@ -0,0 +1,4 @@
FROM bats-jenkins
RUN mkdir -p /usr/share/jenkins/ref/.ssh && touch /usr/share/jenkins/ref/.ssh/config.override
RUN chmod 600 /usr/share/jenkins/ref/.ssh/config.override