【Git】 自动化Maven项目构建脚本(二)
这次脚本增加了构建选择,可以按需构建了。
#!/bin/bash
#-----------------------------------------------
# FileName: auto-build.sh
# Reversion: 1.2
# Date: //
# Author: zhengwenqiang
# Email: zhengwenqiang@bonc.com.cn
# Description: build project eg "security portal cas " from nexus repository with maven build tool.
# Notes: Please ensure that your current account have register public key into "code.bonc.com.cn" and save it in ~/.ssh/rsa.pub
# Changes: support input directions for those three project to determinate building which project.
# Copyright: (c) zhengwenqiang
# License: GPL
#-----------------------------------------------
propath=/home/hotspot/.autoBuild/project
war_box=/home/hotspot/.autoBuild/project/war_box
if [ -d $war_box ] ; then
find $war_box -name '*.war' -type f -exec rm {} \;
else
mkdir -p $war_box
fi
#cas_branch=multi_tenant_removed
#portal_branch=new_portal
#platform_branch=dev-
if [ -f "$1" ] ; then
source $
else
echo "Configuration File Not Found!"
exit
fi
read -n -p "Do you want to build security ?(Y|y|N|n):" isBuildSecurity
case $isBuildSecurity in
Y|y)
cd $propath
[ -d platform ] || git clone ssh://git@code.bonc.com.cn:10022/base_framework/platform.git
cd platform
currentBranch=`git branch | grep ^\* | sed -r "s/\*\s//g"`
if [ "$platform_branch" != "$currentBranch" ] ; then
localBranchPlatform=`git branch | grep "^\s*$platform_branch$" | sed -r 's/\s*//g'`
if [ -n $localBranchPlatform ] ; then
echo $localBranchPlatform"非空"
git checkout $platform_branch
else
git checkout -b $platform_branch remotes/origin/$platform_branch
fi
else
echo "Branch of platform is applicable now!"
fi
git pull
cd security-base
mvn clean install
cd ../security
mvn clean package -Pdeploy
mv target/security.war $war_box
;;
*)
;;
esac
read -n -p "Do you want to build portal ?(Y|y|N|n):" isBuildPortal
case $isBuildPortal in
Y|y)
cd $propath
[ -d portal ] || git clone ssh://git@code.bonc.com.cn:10022/base_framework/portal.git
cd portal
currentBranch=`git branch | grep ^\* | sed -r "s/\*\s//g"`
if [ "$portal_branch" != "$currentBranch" ] ; then
localBranchPortal=`git branch | grep "^\s*$portal_branch$" | sed -r 's/\s*//g'`
if [ -n $localBranchPortal ] ; then
echo $localBranchPortal"非空"
git checkout $portal_branch
else
git checkout -b $portal_branch remotes/origin/$portal_branch
fi
else
echo "Branch of portal is applicable now!"
fi
git pull
mvn clean package -Pdeploy
mv target/portal.war $war_box
;;
*)
;;
esac
read -n -p "Do you want to build cas ?(Y|y|N|n):" isBuildCas
case $isBuildCas in
Y|y)
cd $propath
[ -d cas ] || git clone ssh://git@code.bonc.com.cn:10022/base_framework/cas.git
cd cas
currentBranch=`git branch | grep ^\* | sed -r "s/\*\s//g"`
if [ "$cas_branch" != "$currentBranch" ] ; then
localBranchCas=`git branch | grep "^\s*$cas_branch$" | sed -r 's/\s*//g'`
if [ -n $localBranchCas ] ; then
echo $localBranchCas"非空"
git checkout $cas_branch
else
git checkout -b $cas_branch remotes/origin/$cas_branch
fi
else
echo "Branch of cas is applicable now!"
fi
git pull
mvn clean package -Pdeploy
mv target/cas.war $war_box
;;
*)
;;
esac
【Git】 自动化Maven项目构建脚本(二)的更多相关文章
- 【Git】自动化Maven项目构建脚本(一)
在公司服务器上搭了个自动化构建环境,一上午写了个构建脚本,现在贴出来给自己看 #!/bin/bash # .配置路径变量 propath=/home/hotspot/.autoBuild/projec ...
- (转)Maven学习总结(二)——Maven项目构建过程练习
孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(二)——Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项 ...
- Maven学习总结(2)——Maven项目构建过程练习
Maven学习总结(二)--Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建 ...
- 准备阶段-maven项目构建
依据我现阶段对maven的了解,具使用POM管理项目和强大的repository资源管理库支持. 在项目建立初期,对网站的可拓展.高并发.易于管理做了评估.最终使用Maven 管理该项目 . 如下是m ...
- Maven学习总结(二)——Maven项目构建过程练习
上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立M ...
- Maven学习总结(二)——Maven项目构建过程练习_转载
上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立M ...
- 转】Maven学习总结(二)——Maven项目构建过程练习
原博文出自于:http://www.cnblogs.com/xdp-gacl/p/4051690.html 感谢! 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven ...
- Maven学习(二)-- Maven项目构建过程练习
摘自:http://www.cnblogs.com/xdp-gacl/p/4051690.html 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立Maven约 ...
- maven项目构建
Maven是apache的一个开源项目.是一个用来把源代码构建成可发布的构件的工具. Maven的功能非常强大,可以认为是一个项目管理工具,不仅仅是一个构建工具. Maven本身的核心很小,但是可以在 ...
随机推荐
- 【SqlServer系列】子查询
1 概述 1.1 已发布[SqlServer系列]文章 [SqlServer系列]SQLSERVER安装教程 [SqlServer系列]数据库三大范式 [SqlServer系列]表单查询 [Sq ...
- # .NET切面编程——PostSharp
目录 概念 实现方式 .Net平台的切面实现 PostSharp示例 概念 Aspect-Oriented Programming(AOP):想想OOP是不是有些熟悉,AOP翻译过来的意思就是面向切面 ...
- docker~大叔对术语的解释
回到目录 接触和使用docker已经有1年多了,起初对概念本身理解的不是很好,或者说,没有找到一本比较好的书,在自己的研究下,对docker一些基本的概念有了自己的一些认识和看法,现在分享给正在学习d ...
- java多态加深
当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法. public class Dtai ...
- JS实现extend函数
//写一个函数,该函数的名称是extend,有两个参数:destination,source 1.如果destination和source都是json对象,完成从source到destination的 ...
- github 上传下载代码简单使用
很长时间,一直认为github很难操作,其实认真学了发现也不是很困难. 主要就3个命令 git clone 建立空间 git push 提交代码,git pull拉取代码. git clone htt ...
- 使用Node.js调用阿里云短信的发送以及接收
为了使用Node.js调用阿里云短信服务,我自己写了个npm包, 目前实现了: 使用Node.js调用阿里云短信服务,发送短信: 使用Node.js调用阿里云短信服务以及MNS服务,接收用户上行短信 ...
- 用vue写添加数据、删除数据、筛选数据表格
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- html+css3实现长方体效果
网上大都是正方体的效果,由于做一个东西需要,写了一个HTML+css3实现的长方体,有需要的也可以看看. 2017-07-25 21:30:23 h ...
- Redis从单机到集群,一步步教你环境部署以及使用
Redis作为缓存系统来说还是很有价值的,在大数据方向里,也是需要有缓存系统的.一般可以考虑tachyon或者redis,由于redis安装以及使用更简单,所以还是优先考虑了它.那么在一些场景下为了保 ...