生成文件中的嵌套变量,用于为 docker 提供条件支持



我在 Makefile 调用的 env 文件中设置了变量。我想根据环境条件选择一个集合变量。有没有办法嵌套两个变量来创建一个新变量?

示例环境文件

FILE_VERSION_11=11.0.4

执行

VER=11 make build

示例生成文件(显然不起作用(

.PHONY: all
.PHONY: build
.PHONY: clean
.PHONY: help
.PHONY: test
include env
build: ## Build
build:
docker image build --pull -t container:file-version-$(VER) 
--build-arg FILE_VERSION=$(FILE_VERSION_$VER)

希望现在将$(FILE_VERSION)变量重写为$(FILE_VERSION_11),以便可以通过FILE_VERSION_11env 变量将 11.0.4 传递给 docker 构建。

试试这个:

--build-arg FILE_VERSION=$(FILE_VERSION_$(VER))

在 Dockerfile 中,您需要指定可以通过--build-arg选项传递哪些参数:

FROM <image>
ARG FILE_VERSION
RUN echo $FILE_VERSION

最新更新