Gitlab运行程序正在覆盖Docker映像环境变量

时间:2019-05-13 12:41:56

标签: environment-variables gitlab gitlab-ci gitlab-ci-runner docker-image

我从ubuntu:18.10创建了一个docker镜像,并安装了一些二进制文件,curl,nvm,node和yarn。

我在gitlab存储库上创建了一个.gitlab-ci.yml文件,该文件使用此图像来运行作业。

当作业尝试访问并运行其中一个二进制文件(例如yarn install)时,我收到/bin/bash: line 90: yarn: command not found的bash错误。

经过一段时间的调查,我发现在运行gitlab作业时,在安装此二进制文件期间设置的环境变量已消失。

我尝试过,发现在.gitlab-ci.yml配置文件中添加了以下缺少的变量:

variables:
  NVM_DIR: "/root/.nvm"
  NVM_BIN: "/root/.nvm/versions/node/v10.14.0/bin"
  PATH: "/root/.nvm/versions/node/v10.14.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

解决了这个问题。

尽管这可以解决问题,但是这是一个丑陋的解决方法,有没有办法防止这些变量被覆盖?

0 个答案:

没有答案