Jenkinsfile pipeline配置请查看我另一篇博文:https://blog.csdn.net/maosidiaoxian/article/details/86569288
今天终于搞定了 Jenkins 的多分支构建的配置。
以前在使用 gitlab-ci 时,可以根据不同的分支执行不同的构建,比如 release 分支执行发布到 fir 上的构建,其他分支只执行编译。但因为服务器上的 4G 内存还要跑其他服务,而 gitlab 又是个耗内存大户,经常报 5xx 错误而不得不重启(我后来不得不使用 cron 设置了隔几天自动重启的定时任务)。之后想起了一个 go 开发的 git 托管服务 gogs,于是老大把它给部署上,将项目从 gitlab 上迁移过来。
gogs 没有 gitlab 那样有非常完善的一整套组件,如自动构建需要搭配 jenkins来完成。老大又把 jenkins 给装上,然后让我去配置项目。一番研究之后,算是解决了提交到 gogs 后触发 jenkins 构建的需求,但却有一个问题:
如果项目中的 release 分支和 develop 分支都指向同一个节点,并且都推上去的话,jenkins 在构建时会把它当作是 develop 分支,从而导致没有触发自动构建。这样的话就不得不先推 release 分支,等 jenkins 开始构建后再推 develop 分支,但这样还是不便。
之后就开始研究 Jenkins 的多分支构建,毕竟这才是解决这个问题的正确道理。
多次尝试之后,今天终于