mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/yunionio/cloudpods.git
synced 2026-09-20 08:03:53 +08:00
fix(build): build arm64 image
This commit is contained in:
72
Makefile
72
Makefile
@@ -134,6 +134,11 @@ clean:
|
|||||||
fmt:
|
fmt:
|
||||||
@git ls-files --exclude '*' '*.go' \
|
@git ls-files --exclude '*' '*.go' \
|
||||||
| grep -v '^vendor/' \
|
| grep -v '^vendor/' \
|
||||||
|
| while read f; do \
|
||||||
|
if ! grep -m1 -q '^// Code generated .* DO NOT EDIT\.$$' "$$f"; then \
|
||||||
|
echo "$$f"; \
|
||||||
|
fi ; \
|
||||||
|
done \
|
||||||
| xargs $(XARGS_FLAGS) gofmt -w
|
| xargs $(XARGS_FLAGS) gofmt -w
|
||||||
|
|
||||||
fmt-check: fmt
|
fmt-check: fmt
|
||||||
@@ -206,70 +211,6 @@ mod:
|
|||||||
go mod tidy
|
go mod tidy
|
||||||
go mod vendor -v
|
go mod vendor -v
|
||||||
|
|
||||||
|
|
||||||
DOCKER_CENTOS_BUILD_IMAGE?=registry.cn-beijing.aliyuncs.com/yunionio/centos-build:1.1-3
|
|
||||||
|
|
||||||
define dockerCentOSBuildCmd
|
|
||||||
set -o xtrace
|
|
||||||
set -o errexit
|
|
||||||
set -o pipefail
|
|
||||||
cd /root/onecloud
|
|
||||||
export GOFLAGS=-mod=vendor
|
|
||||||
make $(1)
|
|
||||||
chown -R $(shell id -u):$(shell id -g) _output
|
|
||||||
endef
|
|
||||||
|
|
||||||
docker-centos-build: export dockerCentOSBuildCmd:=$(call dockerCentOSBuildCmd,$(F))
|
|
||||||
docker-centos-build:
|
|
||||||
docker rm --force onecloud-ci-build &>/dev/null || true
|
|
||||||
docker run \
|
|
||||||
--name onecloud-docker-centos-build \
|
|
||||||
--rm \
|
|
||||||
--volume $(CURDIR):/root/onecloud \
|
|
||||||
--volume $(CURDIR)/_output/_cache:/root/.cache \
|
|
||||||
$(DOCKER_CENTOS_BUILD_IMAGE) \
|
|
||||||
/bin/bash -c "$$dockerCentOSBuildCmd"
|
|
||||||
chown -R $$(id -u):$$(id -g) _output
|
|
||||||
ls -lh _output/bin
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
.PHONY: docker-centos-build
|
|
||||||
.PHONY: docker-centos-build-stop
|
|
||||||
|
|
||||||
DOCKER_ALPINE_BUILD_IMAGE?=registry.cn-beijing.aliyuncs.com/yunionio/alpine-build:1.0-5
|
|
||||||
|
|
||||||
define dockerAlpineBuildCmd
|
|
||||||
set -o xtrace
|
|
||||||
set -o errexit
|
|
||||||
set -o pipefail
|
|
||||||
cd /root/go/src/yunion.io/x/onecloud
|
|
||||||
export GOFLAGS=-mod=vendor
|
|
||||||
make $(1)
|
|
||||||
chown -R $(shell id -u):$(shell id -g) _output
|
|
||||||
endef
|
|
||||||
|
|
||||||
docker-alpine-build: export dockerAlpineBuildCmd:=$(call dockerAlpineBuildCmd,$(F))
|
|
||||||
docker-alpine-build:
|
|
||||||
docker rm --force onecloud-docker-alpine-build &>/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 \
|
|
||||||
-v $(CURDIR)/_output/alpine-build/_cache:/root/.cache \
|
|
||||||
$(DOCKER_ALPINE_BUILD_IMAGE) \
|
|
||||||
/bin/sh -c "$$dockerAlpineBuildCmd"
|
|
||||||
ls -lh _output/alpine-build/bin
|
|
||||||
|
|
||||||
docker-alpine-build-stop:
|
|
||||||
docker stop --time 0 onecloud-docker-alpine-build || true
|
|
||||||
|
|
||||||
.PHONY: docker-alpine-build
|
|
||||||
.PHONY: docker-alpine-build-stop
|
|
||||||
|
|
||||||
define helpText
|
define helpText
|
||||||
Build with docker
|
Build with docker
|
||||||
|
|
||||||
@@ -329,3 +270,6 @@ image:
|
|||||||
|
|
||||||
%:
|
%:
|
||||||
@:
|
@:
|
||||||
|
|
||||||
|
ModName:=yunion.io/x/onecloud
|
||||||
|
include $(CURDIR)/Makefile.common.mk
|
||||||
|
|||||||
83
Makefile.common.mk
Normal file
83
Makefile.common.mk
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
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-4
|
||||||
|
|
||||||
|
|
||||||
|
EnvIf=$(if $($(1)),$(1)=$($(1)))
|
||||||
|
|
||||||
|
define dockerCentOSBuildCmd
|
||||||
|
set -o xtrace
|
||||||
|
set -o errexit
|
||||||
|
set -o pipefail
|
||||||
|
cd /root/go/src/yunion.io/x/$(ModBaseName)
|
||||||
|
env \
|
||||||
|
$(call EnvIf,GOARCH) \
|
||||||
|
$(call EnvIf,GOOS) \
|
||||||
|
$(call EnvIf,CGO_ENABLED) \
|
||||||
|
make $(1)
|
||||||
|
chown -R $(shell id -u):$(shell id -g) _output
|
||||||
|
endef
|
||||||
|
|
||||||
|
docker-centos-build: export dockerCentOSBuildCmd:=$(call dockerCentOSBuildCmd,$(F))
|
||||||
|
docker-centos-build:
|
||||||
|
docker rm --force docker-centos-build-$(ModBaseName) &>/dev/null || true
|
||||||
|
docker run \
|
||||||
|
--rm \
|
||||||
|
--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"
|
||||||
|
ls -lh _output/centos-build/bin
|
||||||
|
|
||||||
|
# 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 docker-centos-build-$(ModBaseName) || true
|
||||||
|
|
||||||
|
.PHONY: docker-centos-build
|
||||||
|
.PHONY: docker-centos-build-stop
|
||||||
|
|
||||||
|
|
||||||
|
define dockerAlpineBuildCmd
|
||||||
|
set -o xtrace
|
||||||
|
set -o errexit
|
||||||
|
set -o pipefail
|
||||||
|
cd /root/go/src/yunion.io/x/$(ModBaseName)
|
||||||
|
env \
|
||||||
|
$(call EnvIf,GOARCH) \
|
||||||
|
$(call EnvIf,GOOS) \
|
||||||
|
$(call EnvIf,CGO_ENABLED) \
|
||||||
|
make $(1)
|
||||||
|
chown -R $(shell id -u):$(shell id -g) _output
|
||||||
|
endef
|
||||||
|
|
||||||
|
docker-alpine-build: export dockerAlpineBuildCmd:=$(call dockerAlpineBuildCmd,$(F))
|
||||||
|
docker-alpine-build:
|
||||||
|
docker rm --force docker-alpine-build-$(ModBaseName) &>/dev/null || true
|
||||||
|
docker run \
|
||||||
|
--rm \
|
||||||
|
--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 docker-alpine-build-$(ModBaseName) || true
|
||||||
|
|
||||||
|
.PHONY: docker-alpine-build
|
||||||
|
.PHONY: docker-alpine-build-stop
|
||||||
|
|
||||||
|
endif # __inc_Makefile_common_mk
|
||||||
@@ -6,4 +6,4 @@ ENV TZ Asia/Shanghai
|
|||||||
|
|
||||||
RUN mkdir -p /opt/yunion/bin
|
RUN mkdir -p /opt/yunion/bin
|
||||||
|
|
||||||
ADD ./_output/alpine-build/bin/host-deployer /opt/yunion/bin/host-deployer
|
ADD ./_output/centos-build/bin/host-deployer /opt/yunion/bin/host-deployer
|
||||||
|
|||||||
Reference in New Issue
Block a user