Gitlab管道:在触发器路径中使用变量



我正在尝试开发一个通用的gitlab管道,该管道使用矩阵来触发另一个管道,但我想在路径中添加一个变量。我现在写的是:

variables:
PROJECT_NAME: name
PROJECT_HELM: helmpipe
DEV_CUSTOMERS: cust1 cust2

deploy:dev:
stage: deploy
variables:
UPSTREAM_CI_COMMIT_SHORT_SHA: $CI_COMMIT_SHORT_SHA
UPSTREAM_CI_COMMIT_BRANCH: $CI_COMMIT_BRANCH
UPSTREAM_CI_COMMIT_TAG: $CI_COMMIT_TAG
IMAGE_NAME: ${PROJECT_NAME}
CUSTOMER: $CUSTOMER
trigger: my/project/$PROJECT_HELM
parallel:
matrix:
- CUSTOMER: $DEV_CUSTOMERS
only:
- DEV

但gitlab返回错误,称无法找到触发的项目。变量$PROJECT_HELM似乎没有在触发器路径中转换为其实际值。我该怎么做?

感谢

下面是一个工作示例,其中变量ENV用于触发sit管道。我的管道文件位于根级别的管道文件夹中。文件名为sit-ppipeline.yaml

stages:          
- build
variables:
ENV: sit
sit-pipeline:
stage: build
trigger:
include:
- local: pipeline/${ENV}-pipeline.yaml

可能有2个问题

  1. 要么需要使用${var}语法,而不是$var语法触发器:my/project/${project_HELM}
  2. 或者PROJECT_HELM变量应该解析为定义管道的yaml文件。您的变量被分配给helmpipe,所以我认为您缺少.yaml扩展

最新更新