考虑一个具有以下作业的管道:
build:运行构建并花费1分钟report:运行静态代码分析,将结果发布到MR,耗时59分钟应该尽快通知开发人员report阶段的结果,但不应该阻止MR被合并。管道的行为应该是这样的:
build必须总是成功的。report始终应该最终启动并成功执行,但不应该强制等待它才能合并MR. .在gitlab中是否有可能创建这样的管道?
到目前为止,我知道以下几种选择:
build没有成功。allow_failure设置为report为true。在这种情况下,可以在build完成后通过取消report作业来合并MR,但这违反了应该始终执行报表的要求。此外,如果您必须取消一个可选的工作,然后才能进行合并,则开发人员的经验很差。report作业。这有两个缺点:report工作不能将其结果发布到MR,后者将通知相关人员。发布于 2021-12-17 13:55:24
您可以将report作业移动到子管道(=项目中的一个单独的.yml文件),并使用关键字和触发它,而不需要 strategy: depend。这使您可以在不等待作业的情况下触发作业,并且无需考虑其在管道中的状态。
https://stackoverflow.com/questions/70180723
复制相似问题