Browse Source

Fixed a bug of the build scripts: don't terminate the build when error occurs.

tags/1.2.0^2
huanghaiquan 4 years ago
parent
commit
358445bdb1
5 changed files with 87 additions and 16 deletions
  1. +21
    -0
      build/build.sh
  2. +8
    -1
      build/env.sh
  3. +26
    -7
      build/pack.sh
  4. +16
    -0
      build/test.sh
  5. +16
    -8
      build/update.sh

+ 21
- 0
build/build.sh View File

@@ -1,4 +1,7 @@

#定义子脚本的错误返回命令
RTN="return"


#调用当前脚本目录下 env.sh 脚本,设置环境变量,处理当前传入参数;
source `dirname $0`/env.sh "$*"
@@ -12,7 +15,25 @@ then
else
#执行测试;
source $TEST_SHELL

#检查执行结果是否正常
ERR=$?
if [ $ERR != 0 ]
then
echo "构建过程中发生了集成测试错误[$ERR]!!终止构建!!"
exit $ERR
fi
#结束集成测试错误检查;
fi


#执行打包构建;
source $PACK_SHELL

#检查执行结果是否正常
ERR=$?
if [ $ERR != 0 ]
then
echo "构建过程中发生了打包错误[$ERR]!!终止构建!!"
exit $ERR
fi

+ 8
- 1
build/env.sh View File

@@ -1,10 +1,17 @@

#定义默认的子脚本错误退出命令;
if [ ! $RTN ]
then
#当以 source 命令调用子脚本时,只能用 return 命令终止子脚本的执行;
#当直接在 shell 中调用脚本或者 fork 等其它命令执行子脚本时,用 exit 命令终止脚本执行;
RTN="exit"
fi

if [ $ENV_SHELL ]
then
#如果已经设置过环境变量,则不再重复执行;
echo "略过初始化环境变量。。。"
return
${RTN}
fi

echo "---------------- 初始化环境变量 ----------------"


+ 26
- 7
build/pack.sh View File

@@ -9,7 +9,16 @@ fi
# 更新代码库;
source $UPDATE_SHELL

echo "--------------- 开始编译打包产品 ---------------"
#检查执行结果是否正常
ERR=$?
if [ $ERR != 0 ]
then
echo "更新代码库时发生了错误[$ERR]!!终止打包!!"
${RTN} $ERR
fi


echo "--------------- 开始编译打包 ---------------"

cd $DEPLOY_DIR
echo "当前目录:`pwd`"
@@ -20,13 +29,23 @@ then
SKIP_TESTS=0
fi

CMD="mvn clean package"

if [ $SKIP_TESTS == 1 ]
then
echo "执行命令:mvn clean package -DskipTests=true"
mvn clean package -DskipTests=true
else
echo "执行命令:mvn clean package"
mvn clean package
echo "编译参数:-DskipTests=true"
CMD="$CMD -DskipTests=true"
fi

echo "执行命令:$CMD"
${CMD}

#检查执行结果是否正常
ERR=$?
if [ $ERR != 0 ]
then
echo "编译打包过程中发生了错误[$ERR]!!终止打包!!"
${RTN} $ERR
fi

echo "--------------- 完成编译打包产品 ---------------"
echo "--------------- 完成编译打包 ---------------"

+ 16
- 0
build/test.sh View File

@@ -9,6 +9,14 @@ fi
# 更新代码库;
source $UPDATE_SHELL

#检查执行结果是否正常
ERR=$?
if [ $ERR != 0 ]
then
echo "更新代码库时发生了错误[$ERR]!!终止测试!!"
${RTN} $ERR
fi


echo "---------------- 开始集成测试 ----------------"

@@ -18,4 +26,12 @@ echo "当前目录:`pwd`"
echo "执行命令:mvn clean package"
mvn clean package

#检查执行结果是否正常
ERR=$?
if [ $ERR != 0 ]
then
echo "集成测试过程中发生了错误[$ERR]!!终止测试!!"
${RTN} $ERR
fi

echo "---------------- 完成集成测试 ----------------"

+ 16
- 8
build/update.sh View File

@@ -14,14 +14,22 @@ fi
if [ $SUBMODULES_UPDATED == 1 ]
then
echo "代码库已经最新,略过更新操作。。。"
else
${RTN}
fi
echo "---------------- 更新代码库 ----------------"
cd $BASE_DIR
git submodule update --init --recursive
echo "---------------- 更新代码库 ----------------"
cd $BASE_DIR
git submodule update --init --recursive

#检查执行结果是否正常
ERR=$?
if [ $ERR != 0 ]
then
echo "更新代码库时发生了错误!!返回错误码:$ERR"
${RTN} $ERR
fi

#标记代码已经更新;
SUBMODULES_UPDATED=1
#标记代码已经更新;
SUBMODULES_UPDATED=1

echo "---------------- 完成代码库更新 ----------------"
fi
echo "---------------- 完成代码库更新 ----------------"

Loading…
Cancel
Save