我在 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_11
env 变量将 11.0.4 传递给 docker 构建。
试试这个:
--build-arg FILE_VERSION=$(FILE_VERSION_$(VER))
在 Dockerfile 中,您需要指定可以通过--build-arg
选项传递哪些参数:
FROM <image>
ARG FILE_VERSION
RUN echo $FILE_VERSION