GitLab CI 只有 运行 一份工作而不是其他工作
GitLab CI only running one job and not other job
我有以下 .gitlab-ci.yml
配置,我希望作业 update-environment
仅在推送到 main 或 MR 到 main 时 运行。
通过 printenv 调试 gitlab 环境变量我可以看到定义的两个规则都应该评估为真。但是这份工作从来没有 运行s。是否需要在一个阶段定义工作,还是我遗漏了什么?
default:
image: alpine
tags:
- "workstation"
validation:
script:
- |
echo "I will always run"
printenv # Checking GitLab Environment Variables
update-environment:
rules:
# - changes:
# - "*.yaml"
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "$CI_DEFAULT_BRANCH"'
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "$CI_DEFAULT_BRANCH"'
script:
- |
echo "Updating environment"
你能试试这个吗
stages:
- check
- main
validation:
stage: check
script:
- |
echo "I will always run"
printenv # Checking GitLab Environment Variables
update-environment:
stage: main
rules:
# - changes:
# - "*.yaml"
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
script:
- |
echo "Updating environment"
我刚刚添加了阶段并删除了您在规则中添加的 CI_DEFAULT_BRANCH 中的引号
我有以下 .gitlab-ci.yml
配置,我希望作业 update-environment
仅在推送到 main 或 MR 到 main 时 运行。
通过 printenv 调试 gitlab 环境变量我可以看到定义的两个规则都应该评估为真。但是这份工作从来没有 运行s。是否需要在一个阶段定义工作,还是我遗漏了什么?
default:
image: alpine
tags:
- "workstation"
validation:
script:
- |
echo "I will always run"
printenv # Checking GitLab Environment Variables
update-environment:
rules:
# - changes:
# - "*.yaml"
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "$CI_DEFAULT_BRANCH"'
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "$CI_DEFAULT_BRANCH"'
script:
- |
echo "Updating environment"
你能试试这个吗
stages:
- check
- main
validation:
stage: check
script:
- |
echo "I will always run"
printenv # Checking GitLab Environment Variables
update-environment:
stage: main
rules:
# - changes:
# - "*.yaml"
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
script:
- |
echo "Updating environment"
我刚刚添加了阶段并删除了您在规则中添加的 CI_DEFAULT_BRANCH 中的引号