2013-03-11 96 views
30

我们有很多开发人员创建我想构建的功能分支。每晚我们运行一个需要在每个分支上运行的代码质量工具。我也不喜欢静态配置,因为分支数量每隔几周就会改变一次。哈德森/詹金斯Git构建所有分支

回答

35

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

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

+0

这将构建所有分支时,他们都致力于。但是,我想在特定时间建立所有分支机构。 – babsher 2013-03-12 14:14:03

+0

嗯,所以你想建立的分支......它没有改变?这不是一个非常典型的事情,因为我们应该在第二天使相同的代码工作相同。您可能会成功选择“在构建之前清除工作区”。 Jenkins不会跟踪以前的构建,也许它会尝试构建所有分支,就像它为新工作做的那样。 – 2013-03-15 14:32:39

+10

即使没有代码更改,日复一日地构建相同的分支也常常会捕获与时间相关的错误 - 例如,当他们每个月的第一个月出现时,或者月亮渐渐萎缩的时候。 – mkirk 2013-04-20 13:46:45

3

我有同样的问题有待解决。具体来说,制作所有分支机构的zip文件,并将这些文件作为工件提供给不同的测试工作。分别

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) 

这读取分支列表,检出他们每个人,并允许做的东西在:

在“分行建”,把“**”

然后,执行shell他们每个人。该< < <命令转换输出:

origin/HEAD -> origin/master 
    origin/branch1 
    origin/master 
    origin/secondbranch 

到结账可用列表:

branch1 
master 
secondbranch 
+0

我给你这个+1:git branch -r | grep -v“HEAD - >”| xargs -L 1 | cut -d'/'-f2。 – 2015-07-07 17:49:56

相关问题