詹金斯基于Git分支执行Bash

oss*_*sys 1 git bash github jenkins

我有一个Jenkins项目,仅当按下master和dev分支,而不是我们的任何功能分支时,才能成功构建。

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

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

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

das*_*ker 5

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

然后,您可以使用条件构建步骤插件来创建条件构建步骤,该步骤将变量值与某个其他值进行比较,例如master,仅在条件评估为true时才运行构建步骤。您也可以取反条件,以便在分支不是master分支时可以运行其他脚本。

如果您还需要运行条件后生成操作,请查看Flexible Publish Plugin