Gitlab CI 通过工作流规则触发管道

问题描述 投票:0回答:2

即使我的分支正在开发,我的管道仍然被跳过。有任何想法吗?语法似乎正确。

手动运行时我也收到错误“管道无法运行。管道被规则过滤掉”

  # List of stages for jobs, and their order of execution
stages:          
  - validate
  - build


# Variables set in the GitLab UI are not passed down to service containers. 
# To set them, assign them to variables in the UI, then re-assign them in your .gitlab-ci.yml
variables:
  COMMIT_BRANCH: ${CI_COMMIT_BRANCH}
  
workflow:
  rules:
    - if: $COMMIT_BRANCH == "develop"
      when: always
      

    



validate-job:
  stage: validate
  script:
  - echo "Validated"


build-job:
  stage: build
  ##some job actions
  script: 
  - echo "t"
  # rules:
    # - if: $CI_COMMIT_REF_NAME =~ /develop\/.*$/
      # when: always
git gitlab continuous-integration gitlab-ci gitlab-ci-runner
2个回答
0
投票

目前存在错误,它会阻止您的管道运行。

要使其正常工作,您应该直接在工作流程规则中使用

CI_COMMIT_BRANCH
变量:

workflow:
  rules:
    - if: $CI_COMMIT_BRANCH == "develop"
      when: always

-1
投票

看起来与 gitlab 变量名同名

CI_COMMIT_BRANCH
导致了这个问题。

也许您应该能够通过拥有

different global variable name
来成功运行管道,如在服务容器中

中所述
variables:
  COMMIT_BRANCH: $CI_COMMIT_BRANCH

这应该允许管道在分支中触发时运行

develop

但是,尚不清楚为什么与 gitlab 变量名同名不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.