| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- #!/bin/bash
- set -e
- env='test'
- base_dir=`pwd`
- docker_prefix='registry.cn-chengdu.aliyuncs.com/tnb028'
- proj_dir="${base_dir}/tmp/proj"
- bin_dir="${base_dir}/tmp/bin"
- ###############################################################################
- # 创建构建目录
- ###############################################################################
- create_dirs() {
- if [ -d ${proj_dir} ]; then
- rm -rf ${proj_dir}
- fi
- mkdir -p ${proj_dir}
- if [ -d ${bin_dir} ]; then
- rm -rf ${bin_dir}
- fi
- mkdir -p ${bin_dir}
- }
- ###############################################################################
- # 构建前端应用
- ###############################################################################
- build_front() {
- cd ${proj_dir}
- git clone --depth=1 https://git.reghao.cn/reghao/tnbapp
- ###############################################################################
- # 构建 tnbapp 项目
- ###############################################################################
- cd ${proj_dir}/tnbapp
- npm --registry http://registry.npm.taobao.org i
- npm run build
- # if [ ! -d ${bin_dir}/tnbapp ]; then
- # mkdir ${bin_dir}/tnbapp
- # fi
- # cp -r dist/* ${bin_dir}/tnbapp
- commit_id=`git rev-parse HEAD | cut -c 1-8`
- docker build -t ${docker_prefix}/tnbapp .
- docker push ${docker_prefix}/tnbapp
- }
- ###############################################################################
- # 构建 oss 应用
- ###############################################################################
- build_oss() {
- cd ${proj_dir}
- git clone --depth=1 https://git.reghao.cn/reghao/oss
- ###############################################################################
- # 构建 oss 项目 jar 包
- ###############################################################################
- cd ${proj_dir}/oss
- mvn clean install -Dmaven.test.skip -pl oss-sdk -am
- mvn clean package -Dmaven.test.skip -P${env}
- # cp oss-mgr/target/oss-mgr.jar ${bin_dir}
- # cp oss-store/bin/oss-store.jar ${bin_dir}
- cd ${proj_dir}/oss/oss-mgr
- docker build -t ${docker_prefix}/oss-mgr .
- docker push ${docker_prefix}/oss-mgr
- }
- ###############################################################################
- # 构建后端应用
- ###############################################################################
- build_backend() {
- cd ${proj_dir}
- git clone --depth=1 https://git.reghao.cn/reghao/tnb
- ###############################################################################
- # 构建 tnb 项目 jar 包
- ###############################################################################
- cd ${proj_dir}/tnb
- mvn clean package -Dmaven.test.skip -P${env}
- cp gateway/target/tnb-gateway.jar ${bin_dir}
- cp auth/auth-service/target/tnb-auth.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}
- cp search/search-service/target/tnb-search.jar ${bin_dir}
- }
- ###############################################################################
- # 构建 tnb 应用 docker 镜像
- ###############################################################################
- build_image() {
- cd ${proj_dir}/tnb
- # commit_id=`git rev-parse HEAD | cut -c 1-8`
- cd ${proj_dir}/tnb/gateway/
- docker build -t ${docker_prefix}/tnbgateway .
- docker push ${docker_prefix}/tnbgateway
-
- cd ${proj_dir}/tnb/auth/auth-service/
- docker build -t ${docker_prefix}/tnbauth .
- docker push ${docker_prefix}/tnbauth
- cd ${proj_dir}/tnb/message/message-service/
- docker build -t ${docker_prefix}/tnbmessage .
- docker push ${docker_prefix}/tnbmessage
- cd ${proj_dir}/tnb/file/file-service
- docker build -t ${docker_prefix}/tnbfile .
- docker push ${docker_prefix}/tnbfile
- cd ${proj_dir}/tnb/user/user-service/
- docker build -t ${docker_prefix}/tnbuser .
- docker push ${docker_prefix}/tnbuser
-
- cd ${proj_dir}/tnb/content/content-service/
- docker build -t ${docker_prefix}/tnbcontent .
- docker push ${docker_prefix}/tnbcontent
-
- cd ${proj_dir}/tnb/search/search-service/
- docker build -t ${docker_prefix}/tnbsearch .
- docker push ${docker_prefix}/tnbsearch
- cd ${proj_dir}/tnb/admin/
- docker build -t ${docker_prefix}/tnbadmin .
- docker push ${docker_prefix}/tnbadmin
- }
- echo "创建 proj 目录和 bin 目录..."
- create_dirs
- echo "构建前端应用..."
- build_front
- echo "构建 oss 应用..."
- build_oss
- echo "构建后端应用和 docker 镜像..."
- build_backend
- build_image
|