这并不像只是做一个参数化的构建那么简单。我已经有了一个特定的构建过程,每当这些分支中的任何一个被推送到GitHub时,它都会构建和部署:
那么,如果我刚刚推送了develop
并成功构建了它,我如何触发手动构建并让它拉取feature/my-new-feature
(而不执行git push
)?我尝试启用参数化构建,添加一个名为branch
的新字符串,然后添加一个新的分支说明符*/$branch
。然后我运行了一个构建并将branch
设置为feature/my-new-feature
,它仍然从develop
拉取。
9条答案
按热度按时间8cdiaqws1#
最佳解决方案可能是:
在现有作业
中添加字符串参数
然后在
Source Code Management
部分更新Branches to build
以使用您定义的字符串参数:如果您看到标记为
Lightweight checkout
的复选框,请确保其未选中。图像中指示的配置将告诉jenkins作业使用
master
作为默认分支,对于手动构建,它将要求您输入分支详细信息(仅供参考:默认设置为master
)kxe2p93d2#
我不认为你可以在同一个jenkins job中创建两个分支,你需要做的是配置一个新的jenkins job,它可以访问你的github来获取分支,然后你可以选择手动构建哪一个。
只需将其标记为参数化构建,指定名称和配置为
git parameter
的参数现在你可以配置git选项:
8gsdolmq3#
要通过Jenkins脚本 checkout 分支,请使用:用途:
kwvwclae4#
我可以看到很多很好的答案,但我仍然想分享这个方法,通过使用Git参数如下:
构建管道时,系统将要求您选择分支:
然后,通过groovy代码,你可以指定你想要克隆的分支:
请注意,我使用了从7到最后一个字符的切片来缩小“origin/”并获得分支名称。
同样,如果你配置了一个webhooks触发器,它仍然可以工作,它将采用你指定的默认分支(在我们的例子中是
master
)。wfveoks05#
我终于解决了这个问题。您需要连接
Git parameter
插件和Generic Webhook Trigger
插件。例如:ipakzgxi6#
This is extension of answer provided by Ranjith
我建议,你选择一个选择参数构建,并指定你想要构建的分支。Active Choice Parameter
之后,您可以指定要构建的分支。Branch to Build
现在,当你要构建你的项目时,你会被提供“带参数构建,你可以选择要构建的分支”
你也可以写一个groovy脚本来获取你所有的分支到active choice参数中。
sirbozc57#
在Build Triggers下的configure中将有一个选项
查看GitHub分支
当你选择github分支
时,一个钩子将被创建,然后你可以从Jenkins构建任何你喜欢的分支
希望有帮助:)
wr98u20j8#
我也遇到了同样的问题。我的Jenkins档案出了点问题。例如,在执行release-start时, checkout 分支是develop。所以,不管我的输入,develop被使用了(我的分支还没有合并到develop中)。下面是帮助选项的描述:
“最安全的方法是使用refs/heads/ syntax。这样,预期的分支是明确的。
如果您的分支名称中有/,请确保使用上面的完整引用。”
kq0g1dla9#
你也可以使用正则表达式|代表“或”
例如: