【问题标题】:Trigger after manual stage手动阶段后触发
【发布时间】:2022-08-18 06:51:55
【问题描述】:

我试图在手动步骤后触发 gitlab ci 进程中的一个阶段,并且在找到正确步骤时遇到了一些问题。

我构建得很好,然后想要进行手动部署并选择停止。如果部署成功,我想触发我在另一个仓库中的测试。

触发步骤似乎在构建之后运行,并且管道正在做什么的可视化

这是我的 .gitlab-ci.yml 文件

stage:
    - build-dev
    - deploy-dev
    - test-dev 

build:dev:
    stage: build-dev
    script:
        - my_script
    except:
        - master

deploy:dev:
    <<: *deploy-dev
    stage: deploy-dev
    variables:
        <<: *dev-variables
    environment:
        name: review/$CI_COMMIT_REF_NAME
        on_stop: stop:dev   
    except:
        - master

stop:dev
    stage: deploy-dev
    <<: *shutdown_script
    when: manual
    environment:
        name: review/$CI_COMMIT_REF_NAME
        action: stop

test:dev:
    stage: test-dev
    trigger:    \"qa/my_repo_qa\" 

    标签: gitlab gitlab-ci gitlab-ci.yml


    【解决方案1】:

    当您指定 when: manual 时,默认情况下,它暗示 allow_failure: true 并且是非阻塞.这意味着即使手动作业尚未运行,后期阶段的其他作业也可以运行。

    如果您希望手动作业堵塞相反,您必须设置allow_failure: false

    另请注意,类似地,触发的管道也有一个默认值非阻塞行为。如果要在父管道继续前等待触发管道成功完成,则必须在 trigger: 键下设置 strategy: depend

    【讨论】:

      猜你喜欢
      • 2020-10-22
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多