Files
chain33-dtalk/service/group/Makefile
2022-03-17 15:59:24 +08:00

51 lines
1.7 KiB
Makefile

VERSION := $(shell echo $(shell cat cmd/main.go | grep "projectVersion =" | cut -d '=' -f2))
APP_NAME := group
BUILD_DIR := build
APP := ${BUILD_DIR}/${APP_NAME}_v${VERSION}
PKG_NAME := ${APP_NAME}_v${VERSION}
PKG := ${PKG_NAME}.tar.gz
.PHONY: clean build pkg
main_path = "main"
go_version = $(shell go version | awk '{ print $3 }')
build_time = $(shell date "+%Y-%m-%d %H:%M:%S %Z")
git_commit = $(shell git rev-parse --short=10 HEAD)
flags := -ldflags "-X '${main_path}.goVersion=${go_version}' \
-X '${main_path}.buildTime=${build_time}' \
-X '${main_path}.gitCommit=${git_commit}' \
-X 'google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn'"
clean: ## Remove previous build
@rm -rf ${BUILD_DIR}
@go clean
swag:
@echo '┌ start gen swag'
@swag init -g server/http/http.go
@echo '└ end gen swag'
build: swag #checkgofmt ## Build the binary file
@echo '┌ start build $(APP)'
@GOOS=linux GOARCH=amd64 GO111MODULE=on GOPROXY=https://goproxy.cn,direct GOSUMDB="sum.golang.google.cn" go build -v ${flags} -o $(APP) cmd/main.go
@echo '└ end build $(APP)'
pkg: build ## Package
mkdir -p ${PKG_NAME}/bin
mkdir -p ${PKG_NAME}/etc
cp ${APP} ${PKG_NAME}/bin/
cp config/$(APP_NAME).toml ${PKG_NAME}/etc/
tar zvcf ${PKG} ${PKG_NAME}
rm -rf ${PKG_NAME}
run: swag
@echo '┌ start run $(APP)'
@go run cmd/main.go -conf config/group.toml
@echo '└ end run $(APP)'
REMOTE_BIN_PATH := /opt/dtalk/srv/app/bin
upload: build
@echo '┌ start upload $(APP)'
@rsync -r $(APP) 107:$(REMOTE_BIN_PATH)
@ssh 107 "cd $(REMOTE_BIN_PATH) && chmod 777 $(PKG_NAME) && ln -sf $(PKG_NAME) $(APP_NAME) && supervisorctl restart $(APP_NAME)"
@echo '┌ start upload $(APP)'