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

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

我正在尝试开发一个通用的 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 似乎没有转换为触发路径中的实际值。我该怎么办?

谢谢

triggers gitlab gitlab-ci gitlab-ci-runner gitlab-pipelines
2个回答
0
投票

下面是使用变量ENV来触发sit管道的工作示例。我的管道文件位于根级别的 pipeline 文件夹中。文件名是sit-pipeline.yaml

stages:          
  - build

variables:
  ENV: sit

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

可能有2个问题

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

0
投票

同样的问题。似乎

trigger include/remote
没有转换变量。

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