/
install.sh
74 lines (60 loc) · 2.2 KB
/
install.sh
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/bin/bash
build_numbar="0.1.0"
server_repo="github.com/moocss/chi-webserver"
build_repo="github.com/moocss/chi-webserver/cmd/webserver"
version_repo="github.com/moocss/chi-webserver/src/pkg/version"
install_path=$( cd `dirname $0`; pwd )/server-deploy
if [ -d ${install_path} ];then
install_path=${install_path}-$( date +%Y%m%d%H%M%S )
fi
if [ -z ${GOPATH} ];then
GOPATH=`go env GOPATH`
fi
gotool() {
# 格式化代码
gofmt -w .
# 代码检查并跳过vendor
go tool vet . | grep -v vendor;true
}
build_all() {
gotool
# linux
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags "-w -X ${version_repo}.VersionDev=build.${build_numbar} -X ${versionDir}.VersionDate=$(date +%Y%m%d%H%M%S)" -v -a -installsuffix cgo -o release/webserver_linux
# darwin:
GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -ldflags "-w -X ${version_repo}.VersionDev=build.${build_numbar} -X ${versionDir}.VersionDate=$(date +%Y%m%d%H%M%S)" -v -a -installsuffix cgo -o release/webserver
# windows
GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -ldflags "-w -X ${version_repo}.VersionDev=build.${build_numbar} -X ${versionDir}.VersionDate=$(date +%Y%m%d%H%M%S)" -v -a -installsuffix cgo -o release/webserver.exe
}
build() {
gotool
go build -v -ldflags "-w -X ${version_repo}.VersionDev=build.${build_numbar} -X ${versionDir}.VersionDate=$(date +%Y%m%d%H%M%S)" -o release/webserver
}
dev_server() {
cd $GOPATH/src/${build_repo}
go run main.go
}
build_server() {
# go get ${build_repo}
cd $GOPATH/src/${build_repo}
build
}
install_server() {
mkdir ${install_path}
cd ${install_path}
mkdir bin log etc
cp $GOPATH/src/${build_repo}/release/webserver ./bin/
# cp $GOPATH/src/${build_repo}/release/webserver_linux ./bin/
# cp $GOPATH/src/${build_repo}/release/webserver.exe ./bin/
cp $GOPATH/src/${server_repo}/src/config.yaml ./etc/config.yaml
cp -r $GOPATH/src/${server_repo}/client ./client
}
build_web() {
cd client && yarn install && yarn build
}
build_server
install_server
# build_web
echo "Installing server: ${install_path}/bin"
echo "Installing client: ${install_path}/client"
echo "Installing config: ${install_path}/etc"
echo "Install done..."