我正在与Gitlab-CI合作,我正在考虑所有分支机构的一项工作,基本上可以将其视为某种单元测试,另一项工作专门用于主分支,例如复制和执行一些实际操作 . 单元测试作业必须在所有分支上运行 .
我想知道脚本是否可以重叠,因此基本上所有分支作业都可以在主程序之前执行作为一种验证 .
我们的想法是在合并请求中强制执行两个条件:
-
如果管道成功,则仅允许合并合并请求
-
如果所有讨论都已解决,则仅允许合并合并请求
我简化了 .gitlab-ci.yml
如下:
job_all_branches:
script:
- unit-tests
job_master_branch:
script:
- copy-files
only:
- master
当然,可以提一下,我们可以将所有分支作业中的单元测试脚本复制并粘贴到job_master_branch中调用的脚本中,但我想知道是否有办法避免冗余定义 .
1 回答
找到一个解决方案,它实际上非常简单,我只需要使用阶段......:
感觉就像一个完全白痴,我以前没想过这个 .
无论如何这里低于我想要达到的目标:
因此它们按顺序处理:)