mirror of
https://github.com/wahyd4/kt-connect.git
synced 2026-08-09 05:16:02 +10:00
61 lines
2.4 KiB
Makefile
61 lines
2.4 KiB
Makefile
|
|
PREFIX ?= registry.cn-hangzhou.aliyuncs.com/rdc-incubator
|
|
TAG ?= $(shell date +%s)
|
|
SHADOW_IMAGE = kt-connect-shadow
|
|
SHADOW_BASE_IMAGE = shadow-base
|
|
BUILDER_IMAGE = builder
|
|
DASHBOARD_IMAGE = kt-connect-dashboard
|
|
SERVER_IMAGE = kt-connect-server
|
|
|
|
# generate mock
|
|
generate-mock:
|
|
mkdir -p pkg/fake/kt
|
|
mockgen -source=pkg/kt/command/types.go -destination=pkg/fake/kt/action/action_mock.go -package=action
|
|
mockgen -source=pkg/kt/cluster/types.go -destination=pkg/fake/kt/cluster/kubernetes_mock.go -package=cluster
|
|
mockgen -source=pkg/kt/connect/types.go -destination=pkg/fake/kt/connect/connect_mock.go -package=connect
|
|
mockgen -source=pkg/kt/exec/kubectl/types.go -destination=pkg/fake/kt/exec/kubectl/kubectl_mock.go -package=kubectl
|
|
mockgen -source=pkg/kt/exec/ssh/types.go -destination=pkg/fake/kt/exec/ssh/ssh_mock.go -package=ssh
|
|
mockgen -source=pkg/kt/exec/sshuttle/types.go -destination=pkg/fake/kt/exec/sshuttle/sshuttle_mock.go -package=sshuttle
|
|
mockgen -source=pkg/kt/exec/types.go -destination=pkg/fake/kt/exec/exec_mock.go -package=exec
|
|
mockgen -source=pkg/kt/types.go -destination=pkg/fake/kt/kt_mock.go -package=kt
|
|
|
|
# run unit test
|
|
unit-test:
|
|
mkdir -p artifacts/report/coverage
|
|
go test -v -cover -coverprofile c.out.tmp ./...
|
|
cat c.out.tmp | grep -v "_mock.go" > c.out
|
|
go tool cover -html=c.out -o artifacts/report/coverage/index.html
|
|
|
|
# build kt project
|
|
build: build-connect build-shadow build-server build-dashboard
|
|
|
|
# build ktctl
|
|
build-connect:
|
|
bin/build-ktctl
|
|
bin/archive
|
|
|
|
# build this image before shadow
|
|
build-shadow-base:
|
|
docker build -t $(PREFIX)/$(SHADOW_BASE_IMAGE):$(TAG) -f docker/shadow/Dockerfile_base .
|
|
|
|
# build shadow
|
|
build-shadow:
|
|
GOARCH=amd64 GOOS=linux go build -gcflags "all=-N -l" -o artifacts/shadow/shadow-linux-amd64 cmd/shadow/main.go
|
|
docker build -t $(PREFIX)/$(SHADOW_IMAGE):$(TAG) -f docker/shadow/Dockerfile .
|
|
docker push $(PREFIX)/$(SHADOW_IMAGE):$(TAG)
|
|
|
|
# dlv for debug
|
|
build-shadow-dlv:
|
|
bin/build-shadow-dlv
|
|
|
|
build-dashboard:
|
|
docker build -t $(PREFIX)/$(DASHBOARD_IMAGE):$(TAG) -f docker/dashboard/Dockerfile .
|
|
docker push $(PREFIX)/$(DASHBOARD_IMAGE):$(TAG)
|
|
|
|
build-server:
|
|
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o artifacts/apiserver/apiserver-linux-amd64 cmd/server/main.go
|
|
docker build -t $(PREFIX)/$(SERVER_IMAGE):$(TAG) -f docker/apiserver/Dockerfile .
|
|
docker push $(PREFIX)/$(SERVER_IMAGE):$(TAG)
|
|
|
|
git-release:
|
|
bin/release
|