jenkins在Docker容器中运行 .
Docker正在Mac OS中使用 . 所以我在jenkins.yml中标出了这些行:
# mount docker sock and binary for docker in docker (only works on linux)
#- /var/run/docker.sock:/var/run/docker.sock
#- /usr/bin/docker:/usr/bin/docker
在由JHipster生成的Jenkinsfile中,包括管道中的两个任务:
在Docker容器中执行构建
使用Sonar分析代码
项目清单
node {
stage('checkout') {
checkout scm
}
docker.image('openjdk:8').inside('-u root -e MAVEN_OPTS="-Duser.home=./"') {
stage('check java') {
sh "java -version"
}
来自bitbucket的结账是成功的 . 管道停止并在docker“pull openjdk:8”时出错 . 控制台输出是:
[AAAAApp] Running shell script
+ docker inspect -f . openjdk:8
/var/jenkins_home/workspace/GeneticsDB@tmp/durable-21459aca/script.sh:
2: /var/jenkins_home/workspace/GeneticsDB@tmp/durable-21459aca/script.sh: docker: not found
[Pipeline] sh
[AAAAApp] Running shell script
+ docker pull openjdk:8
/var/jenkins_home/workspace/GeneticsDB@tmp/durable-d5590370/script.sh:
2: /var/jenkins_home/workspace/GeneticsDB@tmp/durable-d5590370/script.sh: docker: not found
但是这个命令可以在命令行中成功运行,如下所示:
docker pull openjdk:8
8: Pulling from library/openjdk
Digest: sha256:18c9622a8dc67b608a2dd0178b4c5aebc0e2da9a656072c6e799cfc46cb96422
Status: Image is up to date for openjdk:8
但我的docker正在Mac OS中运行 .