#!/bin/bash set -e env='dev' base_dir=`pwd` proj_dir="${base_dir}/proj" bin_dir="${base_dir}/bin" # if [ -d ${proj_dir} ]; then # rm -rf ${proj_dir} # fi # if [ -d ${bin_dir} ]; then # rm -rf ${bin_dir} # fi mkdir ${proj_dir} mkdir ${bin_dir} ############################################################################### # clone 项目 ############################################################################### clone_proj() { cd ${proj_dir} git clone --depth=1 https://git.reghao.cn/reghao/jutil git clone --depth=1 https://git.reghao.cn/reghao/oss git clone --depth=1 https://git.reghao.cn/reghao/bnt git clone --depth=1 https://git.reghao.cn/reghao/tnb git clone --depth=1 https://git.reghao.cn/reghao/tnbapp } ############################################################################### # 安装依赖 ############################################################################### build_dependencies() { cd ${proj_dir}/jutil mvn clean install -Dmaven.test.skip cd ${proj_dir}/oss mvn clean install -Dmaven.test.skip -pl oss-api mvn clean install -Dmaven.test.skip -pl oss-sdk ############################################################################### # 安装 tnb 项目提供的依赖 ############################################################################### cd ${proj_dir}/tnb mvn clean install -am -Dmaven.test.skip -pl common mvn clean install -am -Dmaven.test.skip -pl log mvn clean install -am -Dmaven.test.skip -pl account/account-api/ mvn clean install -am -Dmaven.test.skip -pl user/user-api/ mvn clean install -am -Dmaven.test.skip -pl message/message-api/ mvn clean install -am -Dmaven.test.skip -pl content/content-api/ mvn clean install -am -Dmaven.test.skip -pl file/file-api/ mvn clean install -am -Dmaven.test.skip -pl data/data-api/ ############################################################################### # 安装 bnt 项目提供的依赖 ############################################################################### cd ${proj_dir}/bnt mvn clean install -Dmaven.test.skip -pl admin-api } ############################################################################### # 构建应用 ############################################################################### build_app() { ############################################################################### # 构建 oss 项目 jar 包 ############################################################################### cd ${proj_dir}/oss mvn clean package -Dmaven.test.skip -pl oss-store -P${env} mkdir ${bin_dir}/oss-store cp oss-store/bin/* ${bin_dir}/oss-store ############################################################################### # 构建 bnt 项目 jar 包 ############################################################################### cd ${proj_dir}/bnt mvn clean package -Dmaven.test.skip -pl web -P${env} cp web/bin/bntweb.jar ${bin_dir} ############################################################################### # 构建 tnb 项目 jar 包 ############################################################################### cd ${proj_dir}/tnb mvn clean package -Dmaven.test.skip -P${env} cp gateway/target/tnb-gateway.jar ${bin_dir} cp account/account-service/target/tnb-account.jar ${bin_dir} cp user/user-service/target/tnb-user.jar ${bin_dir} cp message/message-service/target/tnb-message.jar ${bin_dir} cp file/file-service/target/tnb-file.jar ${bin_dir} cp content/content-service/target/tnb-content.jar ${bin_dir} cp data/data-service/target/tnb-data.jar ${bin_dir} ############################################################################### # 构建 tnbapp 项目 ############################################################################### cd ${proj_dir}/tnbapp npm --registry http://registry.npm.taobao.org i npm run build mkdir ${bin_dir}/tnbapp cp -r dist/* ${bin_dir}/tnbapp } echo "clone 项目..." clone_proj echo "构建依赖..." build_dependencies echo "构建应用..." build_app