Hudson/Jenkins Git建立了所有分支机构

bab*_*her 35 git hudson jenkins

我们有很多开发人员在创建我想要构建的功能分支.每晚我们运行一个需要在每个分支上运行的代码质量工具.我也不喜欢静态配置,因为分支数量每隔几周就会发生变化.

小智 40

在Git配置中有一个字段'Branch Specifier(默认为空):'如果你放在那里**它将构建所有遥控器的所有分支.

你可以使用环境变量$ {GIT_BRANCH}例如使用https://wiki.jenkins-ci.org/display/JENKINS/Build+Name+Setter+Plugin为其他目的设置标题

  • 即使没有代码更改,日复一日地建立相同的分支通常会捕获与时间相关的错误 - 例如,当它们在每个月的第一天出现时,或者每当月亮渐渐消失时. (12认同)
  • 不仅如此,确保所有分支仍然可以改变外部依赖关系,包括工具链和基础系统在内的构建环境并没有腐烂,包括外部演化数据在内的集成测试仍然存在等等.周期性构建只是为了确保在您完成时始终构建需要他们并不是一个坏主意 (4认同)

小智 7

我有同样的问题需要解决.具体来说,制作所有分支的zip文件,并将其作为工件提供,以用于不同的测试作业.

在"建立分支"中,输入"**"

然后,执行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)
Run Code Online (Sandbox Code Playgroud)

这将分别读取分支列表,每个分支结帐,并允许在每个分支中执行操作.<<<命令转换此输出:

  origin/HEAD -> origin/master
  origin/branch1
  origin/master
  origin/secondbranch
Run Code Online (Sandbox Code Playgroud)

进入结账可用清单:

branch1
master
secondbranch
Run Code Online (Sandbox Code Playgroud)