【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本身的核心很小,但是可以在 ...
随机推荐
- jmeter-Java关于MD5加密方法 以及16位32位互转
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译摘要算法.哈希算法),主流编程语言普遍已有MD5实现.将 ...
- Python面向对象编程(四)
1.多态 多态的概念虽然现在才说,但是我们一直在用.多态就是多种形态的意思,动物都猫,狗,猪等等,这些都是动物的多种形态. 反映在Python中,多态就意味着就算不知道变量所引用的对象类型是什么,也能 ...
- 【NOI模拟】谈笑风生(主席树)
题目描述 设 T 为一棵有根树,我们做如下的定义: 设 a 和 b 为 T 中的两个不同节点.如果 a 是 b 的祖先,那么称 “ a 比 b 不知道高明到哪里去了 ” . 设 a 和 b 为 T 中 ...
- RMAN备份到共享存储失败(win平台)
RMAN备份到共享存储失败(win平台) 之前在<Win环境下Oracle小数据量数据库的物理备份>这篇文章中,介绍了在win平台下对于小数据量的数据库的物理备份设计. 文中重点提到,强烈 ...
- DL4NLP——词表示模型(三)word2vec(CBOW/Skip-gram)的加速:Hierarchical Softmax与Negative Sampling
上篇博文提到,原始的CBOW / Skip-gram模型虽然去掉了NPLM中的隐藏层从而减少了耗时,但由于输出层仍然是softmax(),所以实际上依然“impractical”.所以接下来就介绍一下 ...
- opnet点对点通信模型 分类: opnet 2014-05-26 22:15 246人阅读 评论(3) 收藏
网络包含两个节点,一个发送节点,一个接收节点.发送节点按照某种随机的规律产生数据包(包大小和包间隔可自己定义),然后发送给接收节点.传输过程中会有一些随机的差错(误包率也可自己定义).接收节点收到正确 ...
- lnk后缀名打开方式
老娘栽了两次!! 前段时间,设计把设计图发给我,竟然是个后缀"exe"的文件,选择打开方式的时候忘记取消下图勾选: 结果懵逼了... 在网上找了个方法: 1.打开电脑"运 ...
- Eclipse常用快捷键大全
1.ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了.这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母
- 用于NLP的CNN架构搬运:from keras0.x to keras2.x
本文亮点: 将用于自然语言处理的CNN架构,从keras0.3.3搬运到了keras2.x,强行练习了Sequential+Model的混合使用,具体来说,是Model里嵌套了Sequential. ...
- Java编写的日历,输入年月,输出这个月的日期与星期
import java.util.Scanner; public class rili { public static void main(String[] args) { for (int g = ...