Files
docker-cli/components/packaging/image/Makefile
Jose Bigio 46906a5687 Build docker image with engine binary on multiple arches
Signed-off-by: Jose Bigio <jose.bigio@docker.com>
Upstream-commit: 2dfaf0dd0fa7b7a7aef76d1254b2b48dc04d0211
Component: packaging
2018-08-03 16:32:19 -07:00

37 lines
1.1 KiB
Makefile

SHELL:=/bin/bash
ENGINE_DIR:=$(CURDIR)/../../engine
CLI_DIR:=$(CURDIR)/../../cli
VERSION?=0.0.0-dev
STATIC_VERSION=$(shell ../static/gen-static-ver $(ENGINE_DIR) $(VERSION))
DOCKER_HUB_ORG?=docker
ARCH=$(uname -m)
ENGINE_IMAGE?=engine-community
.PHONY: help
help: ## show make targets
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf " \033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
.PHONY: clean
clean: ## remove build artifacts
-docker rmi $(DOCKER_HUB_ORG)/$(ENGINE_IMAGE):$(STATIC_VERSION)
.PHONY: image
image: image-linux
$(ENGINE_DIR)/Dockerfile.engine:
cp Dockerfile.engine $(ENGINE_DIR)
# builds across multiple archs because the base images
# utilize manifests
.PHONY: image-linux
image-linux: $(ENGINE_DIR)/Dockerfile.engine
docker build -t $(DOCKER_HUB_ORG)/$(ENGINE_IMAGE):$(STATIC_VERSION).$(ARCH) \
--build-arg VERSION=$(STATIC_VERSION) \
--build-arg DOCKER_GITCOMMIT=$(cd $(ENGINE_DIR) && git rev-parse --short=7 HEAD) \
--file $< $(ENGINE_DIR)
.PHONY: release
release:
docker push $(DOCKER_HUB_ORG)/$(ENGINE_IMAGE):$(STATIC_VERSION).$(ARCH)