circleCI能像Jenkins那样防止错误提交在master上吗



我正在研究circle CI和其他解决方案。我对詹金斯在这里做的事情有一点描述

https://softwareengineering.stackexchange.com/a/332400/63472

但更明确地说,我想要一个系统(这是一个硬性要求,否则我们将在现场安装詹金斯,我们宁愿不这样做(。

  • 首先,我们安装git挂钩,这样除了CI用户之外,没有用户可以推送到master
  • 接下来,我们告诉构建系统查找并检测所有前缀为"submit_"的分支
  • 构建系统看到任何新的(或更改的(子分支,在master中合并
  • 如果上述合并失败,它将拒绝开发人员,并向他们发送电子邮件
  • 如果成功,它将运行构建
  • 如果构建失败,再次发送电子邮件给开发人员
  • 如果构建成功,则将其合并到master

这样,构建总是稳定的?是否有任何云CI具有此功能?

注意:我们设置github来拒绝任何向master推送的人,这样就没有人可以。。。然后我们在.circleci/config.yml 中进行了此操作

steps:
  - checkout
  - run: git merge master # merge in to make sure developer was on latest OR reject is merge is not clean
  - run:
       command: |
         ./gradlew build
  - run: git checkout master # switch back to master branch
  - run: git merge $CIRCLE_BRANCH # merge this developers changes in
  - run: git push # push his changes
  - run: git push origin --delete $CIRCLE_BRANCH #delete remote branch so we don't end up with 1000's of branches (it's on master anyways)

相关内容

  • 没有找到相关文章

最新更新