在Docker里面的Jenkins Docker管道

时间:2017-03-09 02:38:06

标签: docker jenkins

我跟随本教程:

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的凭据替换为我自己的凭据。我将我的信用添加到Global,然后在管道脚本中重命名了信用。当我尝试构建时,虽然我收到以下错误:

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容器内的repo构建docker镜像?

1 个答案:

答案 0 :(得分: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 not结果

我假设您的构建在主实例上运行,这只是Jenkins的基本安装 - 没有额外的工具。

您希望运行代理程序从属服务器并将其连接到主服务器 - 此代理程序应确保已安装Docker,然后您就可以运行这些命令。

您可以自己设置;或使用开源选项 - 目前在我自己的设置中,我使用this image,其中包含我需要的一切(嗯,个人 - 我已经分叉并添加了一些我自己的工具)