如何在管道中保存多个变量以供另一项作业使用

Joh*_*ore 1 variables gitlab gitlab-ci

所以我正在浏览 gitlab ci 文档以将变量传递给其他作业。但是,我该如何通过多个呢?我如何访问多个?

build:
  stage: build
  script:
    - echo "BUILD_VERSION=hello" >> build.env
  artifacts:
    reports:
      dotenv: build.env

deploy:
  stage: deploy
  script:
    - echo "$BUILD_VERSION"  # Output is: 'hello'
  dependencies:
    - build
Run Code Online (Sandbox Code Playgroud)

Dav*_*san 5

您可以在工件中保存多个值,然后将其源到以下作业中:

build:
  stage: build
  script:
    - echo "BUILD_VERSION=hello" >> build.env
    - echo "ANOTHER_VARIABLE=world" >> build.env
  artifacts:
    reports:
      dotenv: build.env

deploy:
  stage: deploy
  script:
    - source build.env
    - echo "$BUILD_VERSION"  # Output is: 'hello'
    - echo "$ANOTHER_VARIABLE"  # Outpur is 'world'
  dependencies:
    - build
Run Code Online (Sandbox Code Playgroud)

如果需要导出环境中的变量,只需将source命令替换为以下命令即可:

  script:
    - export $(cat build.env | xargs)
Run Code Online (Sandbox Code Playgroud)