我在由我的Makefile调用的环境文件中设置了变量。我想根据环境条件选择一个设置变量。有没有办法嵌套两个变量以创建新变量?
示例环境文件
FILE_VERSION_11=11.0.4
执行
VER=11 make build
示例Makefile(显然无法正常工作)
.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_11
env变量将11.0.4传递给docker build。
尝试一下:
--build-arg FILE_VERSION=$(FILE_VERSION_$(VER))
并且在Dockerfile中,您需要通过passed选项指定哪些args可以是--build-arg
:
FROM <image>
ARG FILE_VERSION
RUN echo $FILE_VERSION