tank/build/pack/build.sh
2019-05-01 21:47:21 +08:00

57 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
#prepare the variables.
# version name
VERSION_NAME=tank-3.0.0.beta1
# eg. amd64
GOARCH=$(go env GOARCH)
# eg. darwin
GOOS=$(go env GOOS)
# service dir eg. /data/tank/build/pack
SERVICE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
# project dir eg. /data/tank
PROJECT_DIR=$(dirname $(dirname ${SERVICE_DIR}))
# build dir
BUILD_DIR=${PROJECT_DIR}/build
# final zip file name.
FILE_NAME=${VERSION_NAME}.${GOOS}-${GOARCH}.tar.gz
# zip dist dir eg. /data/tank/tmp/dist
DIST_DIR=${PROJECT_DIR}/tmp/dist
# component dir eg. /data/tank/tmp/dist/tank-3.0.0.beta1
COMPONENT_DIR=${DIST_DIR}/${VERSION_NAME}
# final dist path eg. /data/tank/tmp/dist/tank-3.0.0.beta1.darwin-amd64.tar.gz
DIST_PATH=${DIST_DIR}/${FILE_NAME}
cd ${PROJECT_DIR}
echo "go build -mod=readonly"
go build -mod=readonly
# if a directory
if [[ -d COMPONENT_DIR ]] ; then
rm -rf ${COMPONENT_DIR}
mkdir ${COMPONENT_DIR}
else
mkdir -p ${COMPONENT_DIR}
fi
echo "copying cmd tank"
cp ./tank ${COMPONENT_DIR}
echo "copying build"
cp -r ${BUILD_DIR}/* ${COMPONENT_DIR}
echo "remove pack"
rm -rf ${COMPONENT_DIR}/pack
echo "remove doc"
rm -rf ${COMPONENT_DIR}/doc
echo "compress to tar.gz"
echo "tar -zcvf $DIST_PATH $COMPONENT_DIR"
cd ${DIST_DIR}
tar -zcvf ${DIST_PATH} ./${VERSION_NAME}
echo "finish packaging!"