从 GitLab CI/CD 作业失败将环境变量传递给 docker

Passing environment variables to docker from GitLab CI/CD job failing

我在将 GitLab ci 文件中定义的变量传递到我的 docker 文件时遇到问题 我的 GitLab CI 文件看起来像这样

variables:
  IMAGE             : "openjdk"
  IMAGE_TAG         : "11-slim"

docker-image:
  extends: .build
  variables:
    DOCKER_IMAGE_VERSION  : ${JDK_IMAGE}:${JDK_IMAGE_TAG}

我的 Docker 文件看起来有点像这样:

# --- STAGE 1 ----------------------------------------------------------------
# Getting ARGS for build
ARG DOCKER_IMAGE_VERSION

# Start with a base image containing Java runtime
FROM ${DOCKER_IMAGE_VERSION} as build

现在,当管道启动 docker 构建时,我收到以下错误:

Step 1/7 : ARG DOCKER_IMAGE_VERSION
Step 2/7 : FROM ${DOCKER_IMAGE_VERSION} as build
base name (${DOCKER_IMAGE_VERSION}) should not be blank

有人能帮我指出我哪里出错了吗? 谢谢

考虑定义全局 ARG 并在构建时覆盖它。 例子

ARG sample_TAG=测试 ARG sample_TAG 工作目录 /opt/sample-test 运行 echo "图片标签是${sample_TAG}" 从 $sample_TAG 音量/选择 运行 mkdir /opt/sample-test