mirror of
https://gitee.com/rainbond/Rainbond.git
synced 2024-12-02 19:57:42 +08:00
66 lines
1.5 KiB
Bash
Executable File
66 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
set -o errexit
|
|
|
|
# define package name
|
|
PROGRAM="gr-rainbond-node"
|
|
WORK_DIR=/go/src/github.com/goodrain/rainbond
|
|
BASE_NAME=rainbond
|
|
releasedir=./.release
|
|
distdir=${releasedir}/dist
|
|
gaops='git@code.goodrain.com:goodrain/gaops.git'
|
|
|
|
|
|
gitDescribe=$(git describe --tag|sed 's/^v//')
|
|
describe_items=($(echo $gitDescribe | tr '-' ' '))
|
|
describe_len=${#describe_items[@]}
|
|
VERSION=${describe_items[0]}
|
|
git_commit=$(git log -n 1 --pretty --format=%h)
|
|
if [ $describe_len -ge 3 ];then
|
|
buildRelease=${describe_items[-2]}.${describe_items[-1]}
|
|
else
|
|
buildRelease=0.$git_commit
|
|
fi
|
|
if [ -z "$VERSION" ];then
|
|
VERSION=3.4
|
|
fi
|
|
|
|
function prepare() {
|
|
rm -rf $releasedir
|
|
mkdir -pv $releasedir/{tmp,dist}
|
|
path=$PWD
|
|
git clone $gaops $releasedir/tmp
|
|
[ ! -d "$distdir/usr/local/" ] && mkdir -p $distdir/usr/local/bin
|
|
[ ! -d "$distdir/usr/share/gr-rainbond-node/gaops/" ] && mkdir -pv $distdir/usr/share/gr-rainbond-node/gaops
|
|
cd $releasedir/tmp
|
|
rm -rf .git
|
|
|
|
tar zcvf ../dist/usr/share/gr-rainbond-node/gaops/gaops.tgz ./
|
|
cd $path
|
|
rm -rf $releasedir/tmp
|
|
}
|
|
|
|
function build() {
|
|
echo "---> build image"
|
|
docker run -v `pwd`:${WORK_DIR} -w ${WORK_DIR} -it golang:1.8.3 go build -ldflags '-w -s' -o ./build/node/${BASE_NAME}-node ./cmd/node
|
|
mv $PWD/build/node/${BASE_NAME}-node $releasedir/dist/usr/local/bin/
|
|
}
|
|
|
|
function build::rpm() {
|
|
echo "---> Make Build RPM"
|
|
source "hack/build-rpm.sh"
|
|
}
|
|
|
|
case $1 in
|
|
build)
|
|
prepare
|
|
build
|
|
;;
|
|
rpm)
|
|
build::rpm
|
|
;;
|
|
*)
|
|
prepare
|
|
build
|
|
build::rpm
|
|
;;
|
|
esac |