Jenkins基于Git Branch执行Bash

时间:2015-08-28 02:09:05

标签: git bash github jenkins

我有一个Jenkins项目,只有在推送master和dev分支时才能成功构建,而不是我们的任何功能分支。

但是,我想要做的是让Jenkins运行一组不同的bash命令,具体取决于Jenkins推送/接收的分支。

例如,如果推送了dev分支,则部署以进行测试。但是如果推动了master分支,则部署到生产。

我到处寻找有人问过类似但尚未找到解决方案的人,谢谢!

2 个答案:

答案 0 :(得分:4)

Git插件存储已在名为GIT_BRANCH的变量中签出的分支,有关详细信息,请参阅https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Environmentvariables

然后,您可以使用Conditional BuildStep Plugin创建条件构建步骤,将变量值与其他值进行比较,例如: master并仅在条件计算结果为true时运行构建步骤。您还可以否定条件,以便在分支不是主分支时运行其他脚本。

如果您还需要运行有条件的构建后操作,请查看Flexible Publish Plugin

答案 1 :(得分:0)

我可能会错过一些答案似乎很简单。您可以使用命令将相同bash脚本的不同版本签入到每个分支中,然后调用您看到的脚本版本。如果你想反弹一些其他的想法,请进一步解释