mirror of
https://github.com/didi/KnowStreaming.git
synced 2025-12-24 03:42:07 +08:00
84 lines
2.1 KiB
Bash
84 lines
2.1 KiB
Bash
#!/bin/bash
|
|
workspace=$(cd $(dirname $0) && pwd -P)
|
|
cd $workspace
|
|
|
|
## TODO const
|
|
APPNAME=service-discovery
|
|
module=$APPNAME
|
|
app=$module
|
|
|
|
gitversion=.gitversion
|
|
control=./control.sh
|
|
ngxfunc=./nginxfunc.sh
|
|
|
|
## function
|
|
function build() {
|
|
# 进行编译
|
|
# cmd
|
|
JVERSION=`java -version 2>&1 | awk 'NR==1{gsub(/"/,"");print $3}'`
|
|
major=`echo $JVERSION | awk -F. '{print $1}'`
|
|
mijor=`echo $JVERSION | awk -F. '{print $2}'`
|
|
if [ $major -le 1 ] && [ $mijor -lt 11 ]; then
|
|
export JAVA_HOME=/usr/local/jdk-11.0.2 #(使用jdk11请设置)
|
|
export PATH=$JAVA_HOME/bin:$PATH
|
|
fi
|
|
# XXX 编译命令
|
|
# mvn clean install -Ponline -Dmaven.test.skip=true -f ../pom.xml
|
|
./gradlew -PscalaVersion=2.12 releaseTarGz
|
|
|
|
local sc=$?
|
|
if [ $sc -ne 0 ];then
|
|
## 编译失败, 退出码为 非0
|
|
echo "$app build error"
|
|
exit $sc
|
|
else
|
|
echo -n "$app build ok, vsn="
|
|
gitversion
|
|
fi
|
|
}
|
|
|
|
function make_output() {
|
|
# 新建output目录
|
|
local output="./output"
|
|
rm -rf $output &>/dev/null
|
|
mkdir -p $output &>/dev/null
|
|
|
|
# 填充output目录, output内的内容 即为 线上部署内容
|
|
(
|
|
cp -rf $control $output && # 拷贝 control.sh脚本 至output目录
|
|
cp -rf $ngxfunc $output &&
|
|
cp -rf ./APP_META $output &&
|
|
cp -rf ./APP_META/Dockerfile $output &&
|
|
# XXX 解压程序包到output路径
|
|
tar -xzvf core/build/distributions/kafka_2.12-sd-2.5.0-d-100.tgz
|
|
mv kafka_2.12-sd-2.5.0-d-100 ${output}/service-discovery
|
|
# unzip target/${module}.war -d ${output} && # 解压war包到output目录
|
|
echo -e "make output ok."
|
|
) || { echo -e "make output error"; exit 2; } # 填充output目录失败后, 退出码为 非0
|
|
}
|
|
|
|
## internals
|
|
function gitversion() {
|
|
git log -1 --pretty=%h > $gitversion
|
|
local gv=`cat $gitversion`
|
|
echo "$gv"
|
|
}
|
|
|
|
|
|
##########################################
|
|
## main
|
|
## 其中,
|
|
## 1.进行编译
|
|
## 2.生成部署包output
|
|
##########################################
|
|
|
|
# 1.进行编译
|
|
build
|
|
|
|
# 2.生成部署包output
|
|
make_output
|
|
|
|
# 编译成功
|
|
echo -e "build done"
|
|
exit 0
|