在Jenkins从属节点上运行的Jenkinsfile中执行docker build命令的
我希望Jenkins文件做的基本示例:
好像我需要将docker安装到正在执行我的Jenkinsfile的Jenkins从属映像上.有这么简单的方法吗? (Jenkins奴隶图像本身就是一个docker容器) 我的假设是否正确? >当使用Jenkins主/从服务器运行时,Jenkins文件由Jenkins从服务器执行 因为我还需要访问’gcloud’命令(我通过Kubernetes Helm / Charts运行Jenkins),我一直在使用gcr.io/cloud-solutions-images/jenkins-k8s-slave图像为我的Jenkins奴隶. 目前它错误地说“码头:没找到” 最佳答案
我的假设是你想在Jenkins奴隶(这是一个Kubernetes pod,我假设由Kubernetes Jenkins Plugin创建)里面建立码头
要设置阶段,当Kubernetes创建将充当Jenkins从属的pod时,您在节点内执行的所有命令都将在其中一个容器内的Kubernetes pod中执行(默认情况下,只有一个容器,但是稍后会详细介绍. 所以你实际上是在基于gcr.io/cloud-solutions-images/jenkins-k8s-slave的容器内运行Docker命令,这很可能是基于the official Jenkins JNLP Slave,而不是容器Docker! 从现在开始,您可以采取两种方法: >使用基于JNLP从站的略微修改的映像,该映像还包含Docker客户端,并在容器内安装Docker套接字(/var/run/docker.sock). 以下是如何配置Jenkins插件的完整视图:
>第一种方法的问题是您创建一个从官方JNLP从属分叉的新映像并手动添加Docker客户端.这意味着每当Jenkins或Docker有更新时,您需要手动更新图像和整个配置,这是不可取的.
正如我所说,JNLP图像将启动您在同一个窗格中指定的容器.请注意,为了从容器中使用Docker,您仍然需要安装Docker袜子. 这是我发现在容器内运行的Jenkins JNLP从站内实现构建映像的两种方法. 该示例还演示了如何使用Jenkins的凭据绑定来推送映像,以及如何在构建过程中更新Kubernetes部署. 更多资源: > deploy Jenkins to Kubernetes as Helm chart,configure plugins to install 谢谢, (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |