forked from kubespace/kubespace
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
55 lines (44 loc) · 1.99 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
ENVVAR=CGO_ENABLED=0 LD_FLAGS=-s
GOOS?=linux
REGISTRY?=kubespace
TAG?=dev
export GOPROXY=https://goproxy.cn,direct
build-binary: asset-build
rm -rf bin/amd64
$(ENVVAR) GOOS=$(GOOS) go build -o bin/amd64/kubespace-server ./cmd/server
$(ENVVAR) GOOS=$(GOOS) go build -o bin/amd64/controller-manager ./cmd/controller-manager
$(ENVVAR) GOOS=$(GOOS) go build -o bin/amd64/kube-agent ./cmd/kube-agent
$(ENVVAR) GOOS=$(GOOS) go build -o bin/amd64/spacelet ./cmd/spacelet
ifdef BUILD_ARM64
rm -rf bin/arm64
$(ENVVAR) GOOS=$(GOOS) GOARCH=arm64 go build -o bin/arm64/kubespace-server ./cmd/server
$(ENVVAR) GOOS=$(GOOS) GOARCH=arm64 go build -o bin/arm64/controller-manager ./cmd/controller-manager
$(ENVVAR) GOOS=$(GOOS) GOARCH=arm64 go build -o bin/arm64/kube-agent ./cmd/kube-agent
$(ENVVAR) GOOS=$(GOOS) GOARCH=arm64 go build -o bin/arm64/spacelet ./cmd/spacelet
endif
asset-build: vue-build
go install github.com/jessevdk/go-assets-builder@latest
go-assets-builder -s /ui/dist/static ui/dist -o pkg/server/router/assets.go -p router
vue-build:
cd ui &&\
npm config set registry 'https://registry.npm.taobao.org' &&\
npm install &&\
npm run build &&\
cp dist/index.html dist/static/index.html &&\
cd ..
docker-builder:
docker images | grep ospserver-builder || docker build -t ospserver-builder ./builder
build-in-docker: docker-builder
docker run --rm -v `pwd`:/gopath/src/github.com/kubespace/kubespace ospserver-builder:latest bash -c 'cd /gopath/src/github.com/kubespace/kubespace && make build-binary-amd64'
make-base-image:
docker images | grep openspacee/ospserver-base || docker build -t openspacee/ospserver-base ./base-image
make-image: vue-build asset-build build-in-docker make-base-image
docker build -t ${REGISTRY}/osp:${TAG} .
push-image:
docker push ${REGISTRY}/osp:${TAG}
docker tag ${REGISTRY}/osp:${TAG} ${REGISTRY}/osp:latest
docker push ${REGISTRY}/osp:latest
execute-release: make-image push-image
# make build-in-docker
# TAG=v1.2.0 make make-image
# TAG=v1.3.0 make execute-release