build: docker: add ModName

This commit is contained in:
Yousong Zhou
2020-12-21 14:50:02 +08:00
parent 431f2e87e7
commit 39461740d6
2 changed files with 20 additions and 14 deletions

View File

@@ -203,8 +203,6 @@ mod:
go mod tidy
go mod vendor -v
include $(CURDIR)/Makefile.common.mk
define helpText
Build with docker
@@ -264,3 +262,6 @@ image:
%:
@:
ModName:=yunion.io/x/onecloud
include $(CURDIR)/Makefile.common.mk

View File

@@ -1,6 +1,11 @@
ifeq ($(__inc_Makefile_common_mk),)
__inc_Makefile_common_mk:=1
ifeq ($(ModName),)
$(error ModName must be set, e.g. yunion.io/x/onecloud)
endif
ModBaseName:=$(notdir $(ModName))
DockerImageRegistry?=registry.cn-beijing.aliyuncs.com
DockerImageAlpineBuild?=$(DockerImageRegistry)/yunionio/alpine-build:1.0-5
DockerImageCentOSBuild?=$(DockerImageRegistry)/yunionio/centos-build:1.1-3
@@ -12,7 +17,7 @@ define dockerCentOSBuildCmd
set -o xtrace
set -o errexit
set -o pipefail
cd /root/go/src/yunion.io/x/onecloud
cd /root/go/src/yunion.io/x/$(ModBaseName)
env \
$(call EnvIf,GOARCH) \
$(call EnvIf,GOOS) \
@@ -23,12 +28,12 @@ endef
docker-centos-build: export dockerCentOSBuildCmd:=$(call dockerCentOSBuildCmd,$(F))
docker-centos-build:
docker rm --force onecloud-docker-centos-build &>/dev/null || true
docker rm --force docker-centos-build-$(ModBaseName) &>/dev/null || true
docker run \
--rm \
--name onecloud-docker-centos-build \
-v $(CURDIR):/root/go/src/yunion.io/x/onecloud \
-v $(CURDIR)/_output/centos-build:/root/go/src/yunion.io/x/onecloud/_output \
--name docker-centos-build-$(ModBaseName) \
-v $(CURDIR):/root/go/src/yunion.io/x/$(ModBaseName) \
-v $(CURDIR)/_output/centos-build:/root/go/src/yunion.io/x/$(ModBaseName)/_output \
-v $(CURDIR)/_output/centos-build/_cache:/root/.cache \
$(DockerImageCentOSBuild) \
/bin/bash -c "$$dockerCentOSBuildCmd"
@@ -37,7 +42,7 @@ docker-centos-build:
# NOTE we need a way to stop and remove the container started by docker-build.
# No --tty, --stop-signal won't work
docker-centos-build-stop:
docker stop --time 0 onecloud-docker-centos-build || true
docker stop --time 0 docker-centos-build-$(ModBaseName) || true
.PHONY: docker-centos-build
.PHONY: docker-centos-build-stop
@@ -47,7 +52,7 @@ define dockerAlpineBuildCmd
set -o xtrace
set -o errexit
set -o pipefail
cd /root/go/src/yunion.io/x/onecloud
cd /root/go/src/yunion.io/x/$(ModBaseName)
env \
$(call EnvIf,GOARCH) \
$(call EnvIf,GOOS) \
@@ -58,19 +63,19 @@ endef
docker-alpine-build: export dockerAlpineBuildCmd:=$(call dockerAlpineBuildCmd,$(F))
docker-alpine-build:
docker rm --force onecloud-docker-alpine-build &>/dev/null || true
docker rm --force docker-alpine-build-$(ModBaseName) &>/dev/null || true
docker run \
--rm \
--name onecloud-docker-alpine-build \
-v $(CURDIR):/root/go/src/yunion.io/x/onecloud \
-v $(CURDIR)/_output/alpine-build:/root/go/src/yunion.io/x/onecloud/_output \
--name docker-alpine-build-$(ModBaseName) \
-v $(CURDIR):/root/go/src/yunion.io/x/$(ModBaseName) \
-v $(CURDIR)/_output/alpine-build:/root/go/src/yunion.io/x/$(ModBaseName)/_output \
-v $(CURDIR)/_output/alpine-build/_cache:/root/.cache \
$(DockerImageAlpineBuild) \
/bin/sh -c "$$dockerAlpineBuildCmd"
ls -lh _output/alpine-build/bin
docker-alpine-build-stop:
docker stop --time 0 onecloud-docker-alpine-build || true
docker stop --time 0 docker-alpine-build-$(ModBaseName) || true
.PHONY: docker-alpine-build
.PHONY: docker-alpine-build-stop