设置gitlab-ci中的环境变量.脚本中的Yml



请帮助我将下面写的GitHub Action转换为Gitlab CI脚本。我是Gitlab的新手。

从Github文档我可以理解,下面写的行是设置环境变量的值。但是我在Gitlab中找不到任何设置环境变量的资源。

run: >
DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project=monorepo -e 'using Pkg; Pkg.test("GLMakie", coverage=true)'
&& echo "TESTS_SUCCESSFUL=true" >> $GITHUB_ENV 

设置环境变量有多种方法,这取决于您想要实现的目标:

  1. 在同一作业中使用
  2. 在其他作业中使用

在同一个作业中使用

在Bash或其他shell中,您可以通过export设置环境变量-在您的情况下,它看起来像:

job:
script:
- DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project=monorepo -e 'using Pkg; Pkg.test("GLMakie", coverage=true)' && export TESTS_SUCCESSFUL=true
- echo $TESTS_SUCCESSFUL #verification that it is set and can be used within the same job

在其他作业中使用

要将变量移交给另一个作业,您需要定义一个artifact:report:dotenv。它是一个文件,可以包含一个键值对列表,这些键值对将在后续作业中作为环境变量注入。

文件结构如下:

KEY1=VALUE1
KEY2=VALUE2

.gitlab-ci.yml中的定义看起来像

job:
# ...
artifacts:
reports:
dotenv: <path to file>

在你的例子中应该是


job:
script:
- DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project=monorepo -e 'using Pkg; Pkg.test("GLMakie", coverage=true)' && echo "TESTS_SUCCESSFUL=true" >> build.env
artifacts:
reports:
dotenv: build.env
job2:
needs: ["job"]
script:
- echo $TESTS_SUCCESSFUL

详情见https://docs.gitlab.com/ee/ci/variables/#pass-an-environment-variable-to-another-job

相关内容

  • 没有找到相关文章

最新更新