繁体   English   中英

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

[英]Jenkins: how to pass Git credentials in parameterized job?

我们有一个带有许多分支的Git Bitbacket存储库。 我想创建一个允许通过参数化作业从任何这些派生运行代码的作业。 我的用例是:某人单击Build with parameters,选择他/她的存储库分支和分支,选择凭据(或添加并选择),然后开始作业。 詹金斯(Jenkins)应该使用他/她的证书从他/她的分支中获取代码。

我使用Git插件和Credential插件。 我将存储库URL转移到了参数 另外,我向凭据插件添加了必要的凭据。 然后,我创建了凭据参数

但是我不能让Git获得此参数。 我总是收到“身份验证失败”错误。 如何将选定的凭证绑定到Git插件? 我应该在“凭证”字段中选择什么,以使Git从作业参数中获得此凭证? 还是我应该做别的事情?

我不确定是否可以参数化Git凭证。 即使您可以这样做,但如果您的Jenkins实例不受SSL保护(使用HTTPS协议而不是纯HTTP ),则可能会为Git帐户暴露一个安全漏洞

替代方法:

当您引用多个派生时,我假设它们只是主要母版的多个功能分支,最终将与母版合并。

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

  • 仓库->名称:起源
  • 存储库-> Refspec:留空
  • 要建立的分支机构 :** (这两个星号是关键之一)

现在,只要您已在存储库中为Jenkins通知配置了Web Hooks ,Jenkins就会提取对已配置的Git存储库中任何分支的任何推送。

这种方法的优点是开发和构建周期是完全自动化的。 您还可以添加自动电子邮件通知。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM