如何将变量从 .gitlab.ci.yml 传递到 Dockerfile

Tri*_*nci 8 variables gitlab docker gitlab-ci dockerfile

如何将一个变量值从.gitlab-ci.ymlto传递Dockerfile

例如.gitlab-ci.yml包含:

variables:
  var1: ex_variable_1
  var2: ex_variable_1

stages:
  - build

build:
  stage: build
  script:
    - sudo docker build . -t ${CI_PROJECT_PATH_SLUG}
                          --build-arg var1
                          --build-arg var2
    - sudo docker run -dit --name ${CI_PROJECT_PATH_SLUG} --cap-add=NET_ADMIN ${CI_PROJECT_PATH_SLUG}:latest
Run Code Online (Sandbox Code Playgroud)

文档文件包含:

FROM centos:6.9

ENV var1 ${var1}
ENV var2 ${var2}

RUN echo "Print var1 $var1"
RUN echo "Print var2 $var2
Run Code Online (Sandbox Code Playgroud)

所以我想要的是将var1var2.gitlab-ci.ymlto传递Dockerfile

Eri*_*kMD 11

要将环境变量传递.gitlab-ci.yml到图像或容器:

\n
    \n
  • 在构建时(如果 Dockerfile 使用该变量):

    \n\n
  • \n
  • 在运行时(如果该变量由容器使用,即由ENTRYPOINT / CMD指定的程序使用):

    \n\n
  • \n
\n