2015-08-28 50 views
1

我有一个Jenkins项目,只有在推送主分支和开发分支时才能成功构建,而不是我们的任何功能分支。Jenkins基于Git分支执行Bash

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

例如,如果dev分支被推送,则部署测试。但是,如果主分支被推动,部署到生产。

我到处寻找有人问类似的问题,但还没有找到解决方案,谢谢!

回答

3

Git插件存储已被检出的分支名为GIT_BRANCH的变量,详见https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Environmentvariables

然后可以使用Conditional BuildStep Plugin创建条件生成步骤,该变量的值进行比较,以一些其它值,例如master,并且仅当条件评估为真时才运行构建步骤。您也可以取消条件,以便在分支不是主分支时运行其他脚本。

如果您还需要运行条件后建立的行动,看看在Flexible Publish Plugin

0

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