docker - 如何为 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 容器中运行。
解决方案
推荐阅读
- machine-learning - 计算机视觉和机器学习中特征描述符的解释
- glsl - 如何在铯中创建虚线箭头
- azure - Azure Kusto Query 使用动态数组作为类别生成具有空值的数据透视
- mysql - mysql版本变化会影响迁移吗?
- php - 试图获取非对象的属性“时间”
- arrays - 打字稿对象查找并组合所有以前缀开头的键
- sql - 从链接服务器表中选择特定列
- ruby-on-rails - ActiveRecord 为命名空间模型引发“UndefinedColumn”
- r - plotly::ggplotly 图例标题不以多面 ggplot 为中心
- c++ - 构造函数的链接时间自动注册