作者:Mr丶X8063_789 | 来源:互联网 | 2022-12-23 15:05
如果管道出现故障,有没有办法防止推送到gitlab?
这是一个包含多个作业的gitlab-ci.yml示例.每次推送都会触发此管道.
如果其中一个作业失败,我不希望我的代码被推送到我的存储库.(我知道拉取请求存在此功能).
image: node:9.4.0
cache:
paths:
- node_modules/
before_script:
- npm install
stages:
- lint
- test
lint:
stage: lint
script:
- npm run lint
test:
stage: test
script:
- npm run test
Rufinus..
7
对不起西蒙 - 这不是应该如何工作的.你需要回购中的东西,所以管道可以运行.
您应该使用分支流,您只允许成功构建/合并请求与develop/master合并.所以你不必关心在repo中添加失败的代码.你的主要分支始终保持清洁.您可以通过仅允许针对develop/master(受保护的分支)进行合并而不允许direkt推送来强制执行此行为.
对于更简单的事情,你可以使用预提交钩子,只允许推送if if eg.npm run lint成功.但是运行整个管道对于预先提交挂钩来说是很重要的.(它可能有效,但不是最佳做法)
1> Rufinus..:
对不起西蒙 - 这不是应该如何工作的.你需要回购中的东西,所以管道可以运行.
您应该使用分支流,您只允许成功构建/合并请求与develop/master合并.所以你不必关心在repo中添加失败的代码.你的主要分支始终保持清洁.您可以通过仅允许针对develop/master(受保护的分支)进行合并而不允许direkt推送来强制执行此行为.
对于更简单的事情,你可以使用预提交钩子,只允许推送if if eg.npm run lint成功.但是运行整个管道对于预先提交挂钩来说是很重要的.(它可能有效,但不是最佳做法)