如何解决Jenkins 管道 - Jenkinsfile 如何触发 docker
我有一个应用程序,它构建在使用 Jenkins Pipeline 的构建服务器上。我知道该应用程序是在 docker 容器中构建的。 Jenkinsfile
部分中的 stage('Build')
包含以下行:
agent { label 'someDockerImageName' }
我如何检查引擎盖下发生了什么,即使用了哪些 docker 命令?我想可以使用 docker pull
和 docker run
。我没有在 Jenkins 上找到任何相关信息(控制台输出、管道步骤)。
解决方法
看来您的 agent syntax 是错误的。通常,为了在声明性管道中使用 docker 代理,您的语法应如下所示:
agent {
docker {
image 'ubuntu'
}
}
一旦您的管道使用了 docker 代理,您应该会在控制台日志中看到 docker 命令。例如,这是一个简单的管道及其日志输出:
管道
pipeline {
agent {
docker {
image 'ubuntu'
}
}
stages {
stage('foo') {
steps {
sh 'echo bar'
}
}
}
}
日志
Started by user Kthompso
Resume disabled by user,switching to high-performance,low-durability mode.
[Pipeline] Start of Pipeline
[Pipeline] node
Running on jenkinsagent in /var/lib/jenkins/workspace/sample_docker_project
[Pipeline] {
[Pipeline] isUnix
[Pipeline] sh
+ docker inspect -f . ubuntu
.
[Pipeline] withDockerContainer
jenkinsagent does not seem to be running inside a container
$ docker run -t -d -u 1001:1001 -w /var/lib/jenkins/workspace/sample_docker_project -v /var/lib/jenkins/workspace/sample_docker_project:/var/lib/jenkins/workspace/sample_docker_project:rw,z -v /var/lib/jenkins/workspace/sample_docker_project@tmp:/var/lib/jenkins/workspace/sample_docker_project@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 ******** ubuntu cat
$ docker top 5f130a2429b6081736a17edf16eef62f4a8fa85cf498f0b338fa8f500ac53d00 -eo pid,comm
[Pipeline] {
[Pipeline] stage
[Pipeline] { (foo)
[Pipeline] sh
+ echo bar
bar
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
$ docker stop --time=1 5f130a2429b6081736a17edf16eef62f4a8fa85cf498f0b338fa8f500ac53d00
$ docker rm -f 5f130a2429b6081736a17edf16eef62f4a8fa85cf498f0b338fa8f500ac53d00
[Pipeline] // withDockerContainer
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。