通过bash命令设置gitlab-ci.yml变量

问题描述 投票:7回答:1
variables:
  CUSTOM_NODE_VERSION: '$${cat .nvmrc}'

我想通过CUSTOM_NODE_VERSION文件(位于项目根目录中)的内容填充变量.nvmrc。如何在gitlab-ci.yml文件中执行此操作?

上面的例子不起作用。我也尝试过以下方法:

  • CUSTOM_NODE_VERSION: $(cat .nvmrc) - > (cat .nvmrc)
  • CUSTOM_NODE_VERSION: "$(cat .nvmrc)" - > (cat .nvmrc)
  • CUSTOM_NODE_VERSION: '$(cat .nvmrc)' - > (cat .nvmrc)
  • CUSTOM_NODE_VERSION: ${cat .nvmrc} - >(空字符串)
  • CUSTOM_NODE_VERSION: '${cat .nvmrc}' - >(空字符串)
  • CUSTOM_NODE_VERSION: "${cat .nvmrc}" - >(空字符串)

它可以工作,如果我把它放在before_script像下面这样:

before_script:
  - CUSTOM_NODE_VERSION=$(cat .nvmrc)

但是gitlab-ci.yml文件的以下部分无法访问它:

lint:
  stage: Test
  image: node:$CUSTOM_NODE_VERSION
bash gitlab-ci
1个回答
4
投票

.gitlab-ci.yml的某些部分可以使用变量,有些部分则不可用。

.yml文件在Gitlab本身解析,然后命令由跑步者执行。因此,此时无法设置作业配置中使用的变量。您可以使用预定义的秘密变量,虽然这似乎无法满足您的需求。

跟踪文档中存在的问题是:您可以做什么,不能做什么:

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