#!/bin/bash ############################################################################### # 构建 tnb 应用 ############################################################################### set -e proj_dir=`pwd` env='dev' ############################################################################### # 构建依赖 ############################################################################### build_dependencies() { cd ${proj_dir} git clone --depth=1 https://git.reghao.cn/reghao/jutil cd jutil mvn clean install -Dmaven.test.skip } install_dependencies() { cd ${proj_dir} mvn clean install -Dmaven.test.skip -am -pl oss/oss-api/ mvn clean install -Dmaven.test.skip -am -pl oss/oss-sdk mvn clean install -Dmaven.test.skip -am -pl common mvn clean install -Dmaven.test.skip -am -pl account/account-api/ mvn clean install -Dmaven.test.skip -am -pl user/user-api/ mvn clean install -Dmaven.test.skip -am -pl message/message-api/ mvn clean install -Dmaven.test.skip -am -pl content/content-api/ mvn clean install -Dmaven.test.skip -am -pl file/file-api/ mvn clean install -Dmaven.test.skip -am -pl search/search-api/ mvn clean install -Dmaven.test.skip -am -pl data/data-api/ } deploy_dependencies() { cd ${proj_dir} mvn clean deploy -Dmaven.test.skip -am -pl oss/oss-api/ mvn clean deploy -Dmaven.test.skip -am -pl oss/oss-sdk mvn clean deploy -Dmaven.test.skip -am -pl common mvn clean deploy -Dmaven.test.skip -am -pl account/account-api/ mvn clean deploy -Dmaven.test.skip -am -pl user/user-api/ mvn clean deploy -Dmaven.test.skip -am -pl message/message-api/ mvn clean deploy -Dmaven.test.skip -am -pl content/content-api/ mvn clean deploy -Dmaven.test.skip -am -pl file/file-api/ mvn clean deploy -Dmaven.test.skip -am -pl search/search-api/ mvn clean deploy -Dmaven.test.skip -am -pl data/data-api/ } ############################################################################### # 构建 tnb 应用 jar 包 ############################################################################### build_jar() { cd ${proj_dir} mvn clean package -Dmaven.test.skip -P${env} # mvn clean package -Dmaven.test.skip -am -pl oss/oss-store -P${env} } ############################################################################### # 构建 tnb 应用镜像 ############################################################################### build_image() { commit_id=`git rev-parse HEAD | cut -c 1-8` docker_prefix='tnb' cd ${proj_dir}/eureka/eureka-server docker build -t ${docker_prefix}/eureka:${commit_id} . cd ${proj_dir}/gateway/ docker build -t ${docker_prefix}/gateway:${commit_id} . cd ${proj_dir}/account/account-service/ docker build -t ${docker_prefix}/account:${commit_id} . cd ${proj_dir}/message/message-service/ docker build -t ${docker_prefix}/message:${commit_id} . cd ${proj_dir}/file/file-service docker build -t ${docker_prefix}/file:${commit_id} . cd ${proj_dir}/user/user-service/ docker build -t ${docker_prefix}/user:${commit_id} . cd ${proj_dir}/content/content-service/ docker build -t ${docker_prefix}/content:${commit_id} . cd ${proj_dir}/search/search-service/ docker build -t ${docker_prefix}/search:${commit_id} . } echo "构建第三方依赖..." #build_dependencies echo "安装 tnb 依赖到本地仓库..." #install_dependencies echo "部署 tnb 依赖到远程仓库..." #deploy_dependencies echo "构建 tnb jar 应用..." #build_jar echo "构建 tnb docker 应用..." #build_image