【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本身的核心很小,但是可以在 ...
随机推荐
- [AOP系列]Autofac+Castle实现AOP事务
一.前言 最近公司新项目,需要搭架构进行开发,其中需要保证事务的一致性,经过一番查找,发现很多博文都是通过Spring.Net.Unity.PostSharp.Castle Windsor这些方式实现 ...
- jvm004 解析与分派
解析 所有方法调用中的目标方法在Class文件里面都是常量池中的符号引用,在类加载的解析阶段,会将其中的一部分符号引用转化为直接引用.这种解析的前提是:方法在程序真正运行之前就有一个可确定的调用版本, ...
- SVN常见问题
one or more files are in a conflicted state.(一个或多个文件处于矛盾状态)意思是这个文件已经被其他人修改过了. 然后我点击ok按钮后,找到冲突的文件再次up ...
- 登录界面Demo
今天记载一个Demo,这个是我练习项目中用到,供新手看看,界面图:
- if __name__ == '__main__' 如何正确理解
今天有个初学Python 的朋友问我这个问题,他说在网上好多回答他都不太理解.所以这里我来做说一下,希望能把这个问题说明白. 先举一个例子:假设我们有一个add.py文件,里面的代码是这样: def ...
- Elasticsearch,Kibana,Logstash,NLog实现ASP.NET Core 分布式日志系统
Elasticsearch - 简介 Elasticsearch 作为核心的部分,是一个具有强大索引功能的文档存储库,并且可以通过 REST API 来搜索数据.它使用 Java 编写,基于 Apac ...
- ORACLE - 管理控制文件
在oracle中,控制文件极其重要,如果该文件损坏并在没有备份的情况下,数据库将无法启动,里面的数据也将无法读取恢复,一般情况下,对数据库配置好了以后备份控制文件: 1. 查看控制文件 SQL> ...
- year:2017 month:08 day:03
2017-08-03 JAVAse 继承 继承:通过extends关键字可实现类与类之间的继承 父类:基类/超类 子类:派生类 1.继承的特点:单继承[一个类只能有一个父类]多层次[父类还可有父类] ...
- [补档]happiness
happiness 题目 传送门:http://cogs.pro/cogs/problem/problem.php?pid=1873 高一一班的座位表是个n×m的矩阵,经过一个学期的相处,每个同学和前 ...
- 图解虚数 - A Visual, Intuitive Gudie to Imaginary Numbers
这是一篇发表在 betterexplained 上的文章.它通过类比.图解的方式简明地介绍了虚数的意义. 作者:Kalid 原文:A Visual, Intuitive Gudie to Imagin ...