我们有许多开发人员正在创建功能分支,我想要构建这些分支。每晚我们会运行一个代码质量工具需要在每个分支上运行。同时,我不希望使用静态配置,因为分支数量每隔几周就会改变。
我有同样的问题需要解决。具体来说,需要将所有分支制作成压缩文件,并将其作为构件提供给不同的测试任务。
在“要构建的分支”中输入“**”。
然后,在“执行 shell”中执行以下命令:
while read -ra ITEM; do
for i in "${ITEM[@]}"; do
git checkout $i
<do your stuff>
done
done <<< $(git branch -r | grep -v "HEAD ->" | xargs -L 1 | cut -d'/' -f2)
origin/HEAD -> origin/master
origin/branch1
origin/master
origin/secondbranch
branch1
master
secondbranch
使用 ** 分支说明符将针对所有分支和标签运行。如果只想要分支,请使用 refs/heads/* 分支说明符。
虽然这是一个老问题,但下面的多分支插件可以帮助您创建一种构建项目类型,该类型会将分支的子项目扇出,并自动从顶层同步配置到子项目。
https://wiki.jenkins-ci.org/display/JENKINS/Multi-Branch+Project+Plugin
更新2021:此插件已被标记为弃用。
该插件已被弃用。请转移到Multibranch Pipeline job type.
对于更复杂的方法,Seed插件可为您定义子作业提供了很大的灵活性。