首页 > 解决方案 > 如何为 Docker 云模板配置 Jenkins 凭据(或卷)?

问题描述

我正在运行配置了 Docker 云的 Jenkins,即 Jenkins 在主机上本地运行,但如果需要,在 Docker 容器中启动节点。据我了解,Jenkins master 要求 Docker 服务(在我的情况下是在同一台机器上)启动一个容器,然后将其客户端代码推送到它上面,然后将其视为普通客户端节点。

这工作得很好,可能由于云节点必须在每次运行时进行完整(但浅层​​)克隆时额外启动时间的缺点。

现在我的 Jenkins 工作需要推送到 GitHub 存储库,为此 Docker 云节点上的 jenkins 用户需要凭据。

因为我显然不想要 Docker 映像中的密钥,所以我正在考虑在主机上设置卷,然后在 Docker 云代理模板配置中使用它们来将凭据存储在那里(具有重用旧工作区的额外好处更快的启动)。但是由于它是一个云并且 Jenkins “随机”创建机器,我如何配置它以便每个旋转的 docker 节点都有自己的卷,而不与其他节点发生冲突?

或者有没有办法将 jenkins 用户的凭据存储在 Jenkins master 的 Docker 云节点中?我不确定我是否真的了解 Jenkins 凭证存储机制,所以我很乐意提供建议或解释。我什至不确定我是否可以为此使用 GitHub Deploy 密钥...

我试过用谷歌搜索这个以及搜索 SO,但几乎所有的点击都是关于在容器中运行Jenkins 。在我的例子中,Jenkins 主节点不在容器中,但从节点在由 Docker Cloud 插件处理的动态创建的 Docker 容器中运行。

标签: dockerjenkinscloudcredentials

解决方案


推荐阅读