下面来自 gitlab 的示例正在运行,而我的代码却无法运行。我正在使用类似的逻辑。请推荐。
Gitlab 代码 -
variables:
PROJECT1_PIPELINE_NAME: 'Default pipeline name' # A default is not required.
workflow:
name: '$PROJECT1_PIPELINE_NAME'
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
variables:
PROJECT1_PIPELINE_NAME: 'MR pipeline: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME'
- if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-in-ruby3/'
variables:
PROJECT1_PIPELINE_NAME: 'Ruby 3 pipeline'
- when: always # Other pipelines can run, but use the default name
我的代码-
variables:
PIPELINE_NAME: "default"
workflow:
name: '$PIPELINE_NAME'
rules:
- if: '$APPLICATION_ID == ""'
variables:
PIPELINE_NAME: '$ACCESS_TYPE-$ROLE_DEFINATION-$GITLAB_USER_EMAIL'
- if: '$APPLICATION_ID'
variables:
PIPELINE_NAME: '$ACCESS_TYPE-$APPLICATION_ID-$GITLAB_USER_EMAIL'
出现错误。管道名称未显示的问题是因为我使用了 gitlab 变量 - PIPELINE_NAME。
我更改了代码以使用PROJECT1_PIPELINE_NAME。它起作用了。
workflow:
name: '$PROJECT1_PIPELINE_NAME'
rules:
- if: '$APPLICATION_ID == ""'
variables:
PROJECT1_PIPELINE_NAME: '$ACCESS_TYPE-$ROLE_DEFINATION-$GITLAB_USER_EMAIL'
- if: '$APPLICATION_ID'
variables:
PROJECT1_PIPELINE_NAME: '$ACCESS_TYPE-$APPLICATION_ID-$GITLAB_USER_EMAIL'