-
Bug
-
Resolution: Unresolved
-
Minor
-
Jenkins 2.121.1
Docker Pipeline 1.17
Container image is built and executed correctly but step commands run outside container.
Jenkins 2.121.1 (running as a systemd unit on master and a remote build node through SSH Slave plugin)
Docker Pipeline plugin 1.17 (released in May 2018)
Docker CE 18.03 running on CentOS 7.5
pipeline { agent { dockerfile true } stages { stage('Test') { steps { sh 'cd /app && npm test' } } } }
And then the test stage doesn't run inside the Docker container that was started:
[Pipeline] withDockerContainer ci-node does not seem to be running inside a container $ docker run -t -d -u 1020:1020 -w /home/jenkins/workspace/gpii-express_PR-7-something -v /home/jenkins/workspace/gpii-express_PR-7-something:/home/jenkins/workspace/gpii-express_PR-7-something:rw,z -v /home/jenkins/workspace/gpii-express_PR-7-something@tmp:/home/jenkins/workspace/gpii-express_PR-7-something@tmp:rw,z -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** 1d0c4aca5306042f527e42c2e15dd885f78a0ac3 cat $ docker top 9d555195979c311991213dbcc0ef367c66b86972ba8deeb44322b122b2c02c41 -eo pid,comm [Pipeline] { [Pipeline] stage [Pipeline] { (Test) [Pipeline] sh [gpii-express_PR-7-something] Running shell script + cd /app + npm test > gpii-express@1.0.15 pretest /app > node node_modules/rimraf/rimraf coverage/* reports/* > gpii-express@1.0.15 test /app > node node_modules/istanbul/lib/cli.js cover tests/all-tests.js --print summary /app/node_modules/mkdirp/index.js:90 throw err0; ^ Error: EACCES: permission denied, mkdir '/app/reports' at Object.mkdirSync (fs.js:738:3) at Function.sync (/app/node_modules/mkdirp/index.js:71:13) at Object.run (/app/node_modules/istanbul/lib/command/common/run-with-cover.js:129:16) at CoverCommand.run (/app/node_modules/istanbul/lib/command/cover.js:27:22) at runCommand (/app/node_modules/istanbul/lib/cli.js:83:19) at runToCompletion (/app/node_modules/istanbul/lib/cli.js:87:5) at Object.<anonymous> (/app/node_modules/istanbul/lib/cli.js:93:5) at Module._compile (internal/modules/cjs/loader.js:702:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10) at Module.load (internal/modules/cjs/loader.js:612:32) npm ERR! Test failed. See above for more details. [Pipeline] } [Pipeline] // stage [Pipeline] } $ docker stop --time=1 9d555195979c311991213dbcc0ef367c66b86972ba8deeb44322b122b2c02c41 $ docker rm -f 9d555195979c311991213dbcc0ef367c66b86972ba8deeb44322b122b2c02c41 [Pipeline] // withDockerContainer [Pipeline] } [Pipeline] // withEnv [Pipeline] } [Pipeline] // node [Pipeline] End of Pipeline
Running the Docker image that Jenkins built works just fine:
$ docker run --rm -ti 1d0c4aca5306042f527e42c2e15dd885f78a0ac3 /bin/sh /app $ npm test > gpii-express@1.0.15 pretest /app > node node_modules/rimraf/rimraf coverage/* reports/* > gpii-express@1.0.15 test /app > node node_modules/istanbul/lib/cli.js cover tests/all-tests.js --print summary ... 16:53:58.388: jq: *************** 16:53:58.388: jq: All tests concluded: 167/167 total passed in 15718ms - PASS 16:53:58.389: jq: *************** /app $ exit
- relates to
-
JENKINS-55351 docker.build().inside() not run "inside" in Jenkins within Docker
- Closed