Jenkins:如何在参数化作业中传递Git凭据?

时间:2017-04-19 11:18:30

标签: git jenkins bitbucket jenkins-plugins credentials

我们有一个带有许多分叉的Git Bitbacket存储库。我想创建一个允许通过参数化作业从任何这些分支运行代码的作业。 我的用户名是:有人单击Build with parameters,选择他/她的存储库fork和branch,选择凭据(或添加new和select),然后开始工作。 Jenkins应该使用他/她的凭据从他/她的分支中获取代码。

我使用Git插件和Credential插件。 I moved repository url and branch to parameters。 此外,我还为Credentials插件添加了必要的凭据。 Then I created Credentials parameter

但是我不能让Git得到这个参数。我总是得到#34;身份验证失败"错误。 如何将选定的凭据绑定到Git插件?我应该在Credentials字段中选择什么来让Git从作业参数中获得这些信用?或者我应该做点什么?

1 个答案:

答案 0 :(得分:1)

我不确定是否可以参数化Git凭据。即使您可以这样做,如果您的Jenkins实例不是 SSL 受保护(使用 HTTPS 安全漏洞 >协议而不是普通的 HTTP )。

  

替代方法:

当你提到多个叉子时,我认为它们只是主要的一个特征分支,最终将与主控合并。

我认为您也可以通过配置一个Jenkins作业来实现您的目标,该作业被配置为在指定的Git存储库中构建任何分支。您需要使用单个用户配置Git插件,其中一个您的团队成员或专门为Jenkins构建创建专用成员。然后,在插件配置中,您需要定义一些属性,如下所示:

  • 存储库 - >姓名:origin
  • 存储库 - > Refspec:留空
  • 要构建的分支:** (这两个星号是关键字)

现在,如果您已在存储库中为Jenkins通知配置了Web Hooks,则Jenkins会选择对配置的Git存储库中任何分支的任何推送。

此方法的优势在于开发和构建周期完全自动化。您还可以添加自动电子邮件通知。

请注意,此答案基于Jenkins版本1.6xx。