|
| 1 | +################################################################################# |
| 2 | +# javatool-server 发布脚本 |
| 3 | +################################################################################# |
| 4 | + |
| 5 | +# |
| 6 | +# 检查脚本参数,如必要参数未传入,退出脚本。 |
| 7 | +# |
| 8 | +checkInput() { |
| 9 | + if [ "${branch}" == "" ] || [ "${profile}" == "" ]; then |
| 10 | + echo "请输入脚本参数:branch profile" |
| 11 | + echo " branch: git分支(必填)。如 develop, master" |
| 12 | + echo " profile: 运行环境(必填)。可选值:development/test" |
| 13 | + echo "例:./javatool-server-release.sh master test" |
| 14 | + exit 0 |
| 15 | + fi |
| 16 | +} |
| 17 | + |
| 18 | +# |
| 19 | +# 检查文件是否存在,不存在则退出脚本 |
| 20 | +# |
| 21 | +checkFileExist() { |
| 22 | + if [ ! -f "$1" ] |
| 23 | + then |
| 24 | + echo "关键文件 $1 找不到,脚本执行结束" |
| 25 | + exit 0 |
| 26 | + fi |
| 27 | +} |
| 28 | + |
| 29 | +# |
| 30 | +# 记录发布的版本信息 |
| 31 | +# |
| 32 | +saveVersionInfo() { |
| 33 | + VERSION_LOG_PATH=/home/zp/log/deploy/version.txt |
| 34 | + if [ ! -f ${VERSION_LOG_PATH} ]; then |
| 35 | + mkdir -p /home/zp/log/deploy |
| 36 | + touch ${VERSION_LOG_PATH} |
| 37 | + fi |
| 38 | + chmod 777 ${VERSION_LOG_PATH} |
| 39 | + sed -i '/'XYZ'/,+3d' ${VERSION_LOG_PATH} |
| 40 | + echo "============ zp javatool-server info ===========" >> ${VERSION_LOG_PATH} |
| 41 | + cd ${SOURCE_PATH} |
| 42 | + echo "Branch is: ${branch}..." >> ${VERSION_LOG_PATH} |
| 43 | + echo "Profile is: ${profile}..." >> ${VERSION_LOG_PATH} |
| 44 | + echo "CommitID is : $(git log --pretty=oneline -1)..." >> ${VERSION_LOG_PATH} |
| 45 | +} |
| 46 | + |
| 47 | +######################################## MAIN ######################################## |
| 48 | +export LANG="zh_CN.UTF-8" |
| 49 | + |
| 50 | +# 设置全局常量 |
| 51 | +SOURCE_PATH=/home/zp/source/java-stack |
| 52 | +SCRIPT_PATH=/home/zp/source/java-stack/scripts |
| 53 | + |
| 54 | +# 分配 script 和 config 目录的权限 |
| 55 | +chmod -R 755 /home/zp/source/java-stack |
| 56 | + |
| 57 | +# 0. 获取传入参数并检查 |
| 58 | +branch=`echo $1` |
| 59 | +profile=`echo $2` |
| 60 | +repository=`echo $3` |
| 61 | +checkInput |
| 62 | + |
| 63 | +# 1. 停止应用 |
| 64 | +checkFileExist "${SCRIPT_PATH}/javatool-server-run.sh" |
| 65 | +echo "停止所有 javatool-server 应用开始" |
| 66 | +${SCRIPT_PATH}/javatool-server-run.sh ${profile} stop |
| 67 | +echo "停止所有 javatool-server 应用结束" |
| 68 | + |
| 69 | +# 2. 更新代码 |
| 70 | +cd ${SOURCE_PATH} |
| 71 | +UPDATE_CODE_SCRIPT_PATH=/home/zp/script/common/git-clone.sh |
| 72 | +checkFileExist ${UPDATE_CODE_SCRIPT_PATH} |
| 73 | +${UPDATE_CODE_SCRIPT_PATH} dunwu javatool-server ${branch} |
| 74 | +chmod -R 777 ${SOURCE_PATH} |
| 75 | + |
| 76 | +# 3. 替换配置 |
| 77 | +#${SCRIPT_PATH}/javatool-server-replace-config.sh ${SOURCE_PATH} ${profile} |
| 78 | + |
| 79 | +# 4. 编译打包 |
| 80 | +cd ${SOURCE_PATH}/codes/javatool |
| 81 | +mvn clean package -Dmaven.test.skip=true |
| 82 | + |
| 83 | +# 5. 启动应用 |
| 84 | +checkFileExist "${SCRIPT_PATH}/javatool-server-run.sh" |
| 85 | +echo "启动所有 javatool-server 应用开始" |
| 86 | +# 手动释放内存 |
| 87 | +echo 3 > /proc/sys/vm/drop_caches |
| 88 | +${SCRIPT_PATH}/javatool-server-run.sh ${profile} start |
| 89 | +echo "启动所有 javatool-server 应用结束" |
| 90 | + |
| 91 | +## 6. 记录发布的版本信息 |
| 92 | +saveVersionInfo |
0 commit comments