微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Docker 和 Jenkins 集成

如何解决Docker 和 Jenkins 集成

添加了 BitBucket 服务器集成插件 (https://plugins.jenkins.io/atlassian-bitbucket-server-integration/) 并且可以从 Jenkins 连接到 BitBucket 云存储库:

enter image description here

但是当我尝试构建时收到一个错误

/var/jenkins_home/workspace/bb_add-jenkins-file@tmp/durable-c49dbeca/script.sh: 1: /var/jenkins_home/workspace/bb_add-jenkins-file@tmp/durable-c49dbeca/script.sh: docker: not found
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
[Bitbucket] Notifying commit build result
[Bitbucket] Build result notified
ERROR: script returned exit code 127
Finished: FAILURE

所以看来我需要在 Jenkins 实例上安装 Docker?

https://plugins.jenkins.io/docker-build-publish/

我正在按照本教程使用 Jenkins 配置 Docker:https://medium.com/@karthi.net/docker-tutorial-build-docker-images-using-jenkins-d2880e65b74

并且已经到了这一步:

enter image description here

在我自己的 Jenkins Docker 设置页面上:

enter image description here

我不确定应该使用哪个 Docker URL?我是否需要在 Kubernetes 集群中配置一个新的容器实例并在这个新实例中运行 docker?这个新的 Docker 实例就是 Docker Host URI 字段?

解决方法

我认为该插件需要存在 docker cli。 如果您将 jenkins 作为 docker 镜像本身运行,请使用提供 docker cli 的镜像,例如 https://hub.docker.com/r/trion/jenkins-docker-client

如果要使用宿主机 docker daemon 进行构建,则需要绑定挂载 docker socket。 如果您想使用 sidecar 容器来提供 docker 守护进程,例如使用 docker-in-docker 设置,您通常可以使用容器名称作为 docker 主机或 kubernetes 服务名称。这取决于您如何提供 sidecar 容器,对此没有通用的答案。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。