这需要Github访问令牌,这意味着我必须要求每个用户使用自己的访问令牌,或者与所有用户共享访问令牌的内容。
第一种选择似乎不方便。第二种选择是安全隐患,当有人离开组织时,我们必须更改令牌。
我希望找到一种方法来向Jenkins添加凭据并将其范围限定为所有用户都可以使用它,因此上面的“新管道”流程将使用该凭据而不是查询用户输入令牌。用户仍然需要在添加管道时输入令牌。
是否有一个好的解决方案?大多数组织是否依靠个人开发人员来使用其个人访问令牌?
#1 楼
我对OP问题和后续操作感到有些困惑,因此回答有关GitHub对基于jenkinsfile的管道作业的访问的权限:存储在Jenkins中的凭证可用于所有有权创建作业的用户。为您的存储库使用GitHub部署密钥。是的,每个回购都需要一个密钥。当然,这确实需要Github中的用户,但没有什么可以阻止您为额外的所谓“机器用户”付费。但是,我们只使用像我这样的真实人。
此GitHub部署密钥可让您触发仓库更改,或将jenkinsfile保留在Github中。我认为使用jenkinsfiles并将其保存在GitHub中是最好的制作Jenkins的方法。
评论
我知道这不是您问题的直接答案,但是GitHub Branch Source插件会为您工作吗?该插件会自动为包含Jenkinsfile的GitHub组织中的每个存储库创建作业,而无需每次在GitHub中创建新存储库时都创建新作业。有趣。我们实际上正在使用该插件,尽管不是为了自动创建作业。我认为这可以满足我们的需求,但是我看不到启用自动创建作业的选项。我们有版本2.3.2
@jayhendren我应该澄清一下,该插件会自动为已经有管道的存储库中的分支和PR创建作业,但不会自动创建新的管道。
不确定我是否遵循。如果将Jenkinsfile添加到现有分支,则该插件将自动创建一个新作业。
GitHub Branch Source插件会定期在组织中扫描新的存储库,分支和PR,因此,如果它至少具有一个包含Jenkinsfile的分支/ PR,则应该找到bar。默认情况下,该插件每天扫描组织一次。验证是否已打开自动扫描,扫描频率是否在所需的设置以及条回购中是否包含Jenkinsfile。如果仍未显示回购,则可以运行手动扫描进行调试。此处提供文档。