ab1d9c2ad2
Merge remote-tracking branch 'certman/master'
52 lines
1.2 KiB
Makefile
52 lines
1.2 KiB
Makefile
include build.env
|
|
-include build.env.work
|
|
export
|
|
|
|
IMAGE_NAME ?= webhook
|
|
IMAGE_TAG ?= dev
|
|
|
|
BUILDX_BUILDER ?= container-builder
|
|
BUILDINFO_FILE := freedns/buildinfo_gen.go
|
|
|
|
ensure-buildx:
|
|
@if ! docker buildx inspect $(BUILDX_BUILDER) >/dev/null 2>&1; then \
|
|
echo "Creating buildx builder $(BUILDX_BUILDER)..."; \
|
|
docker buildx create \
|
|
--name $(BUILDX_BUILDER) \
|
|
--driver docker-container \
|
|
--driver-opt network=host \
|
|
--bootstrap --use; \
|
|
else \
|
|
echo "Using existing buildx builder $(BUILDX_BUILDER)"; \
|
|
docker buildx use $(BUILDX_BUILDER); \
|
|
fi
|
|
|
|
.buildinfo:
|
|
@mkdir -p $(dir $(BUILDINFO_FILE))
|
|
@printf '%s\n' \
|
|
'package freedns' \
|
|
'' \
|
|
'const (' \
|
|
' IMAGE_TAG = "$(IMAGE_TAG)"' \
|
|
' Timestamp = "'$$(TZ=UTC date +%Y%m%d.%H%M%S)'"' \
|
|
')' \
|
|
> $(BUILDINFO_FILE)
|
|
|
|
build: .buildinfo ensure-buildx
|
|
docker buildx build \
|
|
--platform linux/amd64,linux/arm64 \
|
|
-f Dockerfile \
|
|
-t $(IMAGE_NAME):$(IMAGE_TAG) .
|
|
|
|
push: .buildinfo ensure-buildx
|
|
docker buildx build \
|
|
--platform linux/amd64,linux/arm64 \
|
|
-f Dockerfile \
|
|
-t $(IMAGE_NAME):$(IMAGE_TAG) \
|
|
--push .
|
|
|
|
inspect:
|
|
docker buildx imagetools inspect $(IMAGE_NAME):$(IMAGE_TAG)
|
|
|
|
.PHONY: push build .buildinfo
|