joo*_*ies 9 git github jenkins
我已经设置了一个运行jenkins的CI服务器和一个带有我们生产环境副本的slave.我遇到了一个讨厌的小问题:Jenkins显然是git clone在奴隶上运行,这意味着每个奴隶都应该把它的公钥添加到GitHub.
对我来说,这听起来像一个非常奇怪的架构设计.我更喜欢主服务器(具有我的所有凭据)和clone/ checkout并将工作区复制到从属服务器.但经过一些谷歌搜索,我还没有找到办法做到这一点.我找到了Copy to slave插件,但这并不能阻止slave失败git clone.
我希望有人知道实现这一目标的方法,因为为每个奴隶设置GitHub公钥都听起来很荒谬.
Jenkins显然在slave上运行git clone,这意味着每个slave都应该将它的publickey添加到GitHub中.
为什么不使用一个 部署密钥(供所有Jenkins代理使用)来访问您的仓库?
部署密钥是存储在服务器上的SSH密钥,用于授予对GitHub上的单个存储库的访问权限.
此密钥直接附加到存储库而不是用户帐户.优点
- 有权访问服务器的任何人都有权部署存储库
- 用户无需更改其本地SSH设置
缺点
- 部署密钥仅授予对单个存储库的访问权限,更复杂的项目可能具有许多存储库以提取到同一服务器
- 密钥具有对存储库的完全读/写访问权限
- 部署密钥通常不受密码保护,如果服务器受到危害,则可以轻松访问密钥
另一种方法是使用Credentials Jenkins插件(2012年2月初始化),该插件允许在Jenkins master中存储凭据.
管理每个凭证的单点.在一个地方改变它,你就完成了.
从版本1.5开始,该插件现在支持将凭证分类到不同的"域",以允许插件将凭证的选择限制为仅适用于那些凭据.
当插件要求提供凭证列表时,它可以添加关于凭据的使用位置和方式的一些规范.
凭据域配置示例:

| 归档时间: |
|
| 查看次数: |
11055 次 |
| 最近记录: |