想象一下,我有两个主要分支master(production)
和development
的项目。我有一个Jenkinsfile(一个由git push事件触发的管道作业)里面有管道逻辑。从管道中,我调用剧本在服务器上构建和部署应用程序。
现在有这种情况,我想将应用程序部署在两台服务器上。一台主服务器和一台登台(开发)服务器。当我在master分支上推送更改时,我希望将更改的应用程序部署在主(生产)服务器上,但是当我在development分支上推送更改时,我希望将更改部署在登台(开发)服务器上。
现在,我有一个Jenkinsfile,一本剧本和清单。当我按下master分支时,更改将部署在主服务器上。
但是如何为开发分支机构管理上述方案?我应该在每个分支上使用两个不同的Jenkinsfile(调用不同的剧本,并将其部署在不同的登台服务器上)进行两项工作吗?还是应该在两个分支上都拥有两个Jenkinsfile?也许这甚至行不通,我还需要其他想法吗?
我是DevOps的新手,如果有人能帮助我摆脱这种情况,我将不胜感激。
答案 0 :(得分:1)
您要查找的内容已在UI5 Property binding插件中实现。它基本上会自动为每个分支创建一个管道,然后允许您区分使用哪个分支来运行管道。您可以保留一个Jenkinsfile并仅提取产品/阶段的特定差异并将其设置为例如在Multibranch Pipeline中。