mirror of
https://github.com/phusion/baseimage-docker.git
synced 2026-03-25 20:07:55 +00:00
Multiarch implementation for amd64, arm64 and arm32
This commit is contained in:
33
Makefile
33
Makefile
@@ -1,35 +1,48 @@
|
||||
VERSION ?= 0.11
|
||||
ifdef BASE_IMAGE
|
||||
BUILD_ARG = --build-arg BASE_IMAGE=$(BASE_IMAGE)
|
||||
ifndef NAME
|
||||
NAME = phusion/baseimage-$(subst :,-,${BASE_IMAGE})
|
||||
endif
|
||||
ifndef NAME
|
||||
NAME = phusion/baseimage-$(subst :,-,${BASE_IMAGE})
|
||||
endif
|
||||
else
|
||||
NAME ?= phusion/baseimage
|
||||
endif
|
||||
VERSION ?= 0.11
|
||||
|
||||
ifdef TAG_ARCH
|
||||
# VERSION_ARG = $(VERSION)-$(subst /,-,$(subst :,-,${BASE_IMAGE}))-$(TAG_ARCH)
|
||||
VERSION_ARG = $(VERSION)-$(TAG_ARCH)
|
||||
LATEST_VERSION = latest-$(TAG_ARCH)
|
||||
else
|
||||
# VERSION_ARG = $(VERSION)-$(subst /,-,$(subst :,-,${BASE_IMAGE}))
|
||||
VERSION_ARG = $(VERSION)
|
||||
LATEST_VERSION = latest
|
||||
endif
|
||||
VERSION_ARG ?= $(VERSION)
|
||||
|
||||
.PHONY: all build test tag_latest release ssh
|
||||
|
||||
all: build
|
||||
|
||||
build:
|
||||
docker build -t $(NAME):$(VERSION) $(BUILD_ARG) --rm image
|
||||
./build.sh
|
||||
docker build --no-cache -t $(NAME):$(VERSION_ARG) $(BUILD_ARG) --build-arg QEMU_ARCH=$(QEMU_ARCH) --platform $(PLATFORM) --rm image
|
||||
|
||||
test:
|
||||
env NAME=$(NAME) VERSION=$(VERSION) ./test/runner.sh
|
||||
env NAME=$(NAME) VERSION=$(VERSION_ARG) ./test/runner.sh
|
||||
|
||||
tag_latest:
|
||||
docker tag $(NAME):$(VERSION) $(NAME):latest
|
||||
docker tag $(NAME):$(VERSION_ARG) $(NAME):$(LATEST_VERSION)
|
||||
|
||||
tag_multiarch_latest:
|
||||
env TAG_LATEST=true ./build-multiarch.sh
|
||||
|
||||
release: test tag_latest
|
||||
@if ! docker images $(NAME) | awk '{ print $$2 }' | grep -q -F $(VERSION); then echo "$(NAME) version $(VERSION) is not yet built. Please run 'make build'"; false; fi
|
||||
@if ! docker images $(NAME) | awk '{ print $$2 }' | grep -q -F $(VERSION_ARG); then echo "$(NAME) version $(VERSION_ARG) is not yet built. Please run 'make build'"; false; fi
|
||||
docker push $(NAME)
|
||||
@echo "*** Don't forget to create a tag by creating an official GitHub release."
|
||||
|
||||
ssh: SSH_COMMAND?=
|
||||
ssh:
|
||||
ID=$$(docker ps | grep -F "$(NAME):$(VERSION)" | awk '{ print $$1 }') && \
|
||||
ID=$$(docker ps | grep -F "$(NAME):$(VERSION_ARG)" | awk '{ print $$1 }') && \
|
||||
if test "$$ID" = ""; then echo "Container is not running."; exit 1; fi && \
|
||||
tools/docker-ssh $$ID ${SSH_COMMAND}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user