首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当前一阶段失败时,Gitlab管道将跳过该阶段

当前一阶段失败时,Gitlab管道将跳过该阶段
EN

Stack Overflow用户
提问于 2022-02-22 08:28:22
回答 1查看 616关注 0票数 1

我的Gitlab管道由几个阶段组成。第二阶段到最后阶段测试和最后阶段进行清理。即使测试失败,也必须始终执行最后阶段。管道在创建合并请求时启动,目标是主分支。管道必须成功,否则开发人员无法合并。不幸的是,如果测试失败,管道将中止,并且不会运行最后阶段。"allow_failure“不是一种选择。如果测试阶段失败,则管道是成功的,因此开发人员能够合并分支。有人能给我个提示吗?

代码语言:javascript
运行
复制
#other stages
...
myTests:
  stage: test
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"'
  script:
    - ...# Do some tests
  tags:
    - bla

myCleaner:
  stage: clean
  script:
    - ... //delete everything
  tags:
    - bla
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"'
    - when: always
EN

回答 1

Stack Overflow用户

发布于 2022-02-22 14:21:22

我会以这种方式合并测试和清理作业(未经测试):

代码语言:javascript
运行
复制
# other stages
...
myTests:
  stage: test
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"'
  script:
    - ./run_tests || retcode=$?  # Do some tests
    - ... # delete everything
    - [ -n "$retcode" ] && false # "false" or "exit 1"
  tags:
    - bla
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71218076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档