Jenkins Docker容器内的流水线化

3

我正在按照这个教程进行学习:

https://www.linkedin.com/pulse/building-docker-pipeline-cloudbees-jenkins-jay-johnson

我正在使用Docker 17运行Jenkins:

docker run -d -p 8080:8080 -p 50000:50000 --name jenkins jenkins

我按照说明替换了Jay的凭据,并将我的凭据添加到全局,然后在管道脚本中重命名了凭据。但是当我尝试构建时,我收到以下错误:

Proceeding
[Pipeline] withEnv
[Pipeline] {
[Pipeline] withDockerRegistry
Wrote authentication to /var/jenkins_home/.dockercfg
[Pipeline] {
[Pipeline] stage (Building)
Using the ‘stage’ step without a block argument is deprecated
Entering stage Building
Proceeding
[Pipeline] sh
[alfred-master] Running shell script
+ docker build -t jayjohnson/django-slack-sphinx:testing django
/var/jenkins_home/workspace/alfred-master@tmp/durable-713ce0d7/script.sh: 2: /var/jenkins_home/workspace/alfred-master@tmp/durable-713ce0d7/script.sh: docker: not found
[Pipeline] }
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 127
Finished: FAILURE

我假设这是在寻找Docker二进制文件。

如何从Docker容器内部构建来自仓库的Docker镜像?


使用已安装Docker的容器?在已安装Docker的代理上运行构建?不使用Docker运行Jenkins? - Christopher Orr
1个回答

1
问题在这里:
/var/jenkins_home/workspace/alfred-master@tmp/durable-713ce0d7/script.sh: 2: /var/jenkins_home/workspace/alfred-master@tmp/durable-713ce0d7/script.sh: docker: not found
我假设你的构建正在主实例上运行,这只是Jenkins的基本安装 - 没有额外的工具。
您需要运行一个代理从机并将其连接到主机 - 此代理应确保已安装Docker,然后您将能够运行这些命令。
您可以自己设置此选项;或使用开源选项 - 目前在我的设置中,我正在使用this image,其中包含我所需的一切(好吧,个人而言 - 我已经派生它并添加了一些自己的工具)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接