28 lines
968 B
Makefile
28 lines
968 B
Makefile
# 定义变量
|
|
REGISTRY_MARK ?= registry.yqxpro.com
|
|
REGISTRY ?= crpi-kbfsbvlqwt19zxum-vpc.cn-hongkong.personal.cr.aliyuncs.com/registry-yqxpro
|
|
GIT_SHA := $(shell git rev-parse --short HEAD)
|
|
|
|
# 定义所有需要构建的子目录
|
|
SUBDIRS = common-base develop-base universal-base
|
|
|
|
# 默认目标:按顺序构建所有子目录
|
|
all: $(SUBDIRS)
|
|
|
|
# 定义每个子目录的构建规则
|
|
$(SUBDIRS):
|
|
@echo "Building $@..."
|
|
@pushd $@ && \
|
|
npx devcontainer build \
|
|
--platform linux/amd64,linux/arm64 \
|
|
--image-name devcontainers/$@ \
|
|
--cache-to type=registry,ref=$(REGISTRY)/devcontainers-$@:buildcache,mode=max \
|
|
--cache-from type=registry,ref=$(REGISTRY)/devcontainers-$@:buildcache && \
|
|
docker tag devcontainers/$@ $(REGISTRY_MARK)/devcontainers/$@ && \
|
|
docker tag devcontainers/$@ $(REGISTRY)/devcontainers-$@:$(GIT_SHA) && \
|
|
docker push $(REGISTRY)/devcontainers-$@:$(GIT_SHA) && \
|
|
popd
|
|
|
|
# 伪目标声明
|
|
.PHONY: all parallel clean $(SUBDIRS)
|