我有一个Jenkins项目,只有在推送master和dev分支时才能成功构建,而不是我们的任何功能分支。
但是,我想要做的是让Jenkins运行一组不同的bash命令,具体取决于Jenkins推送/接收的分支。
例如,如果推送了dev分支,则部署以进行测试。但是如果推动了master分支,则部署到生产。
我到处寻找有人问过类似但尚未找到解决方案的人,谢谢!
答案 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脚本的不同版本签入到每个分支中,然后调用您看到的脚本版本。如果你想反弹一些其他的想法,请进一步解释