【Git】自动化Maven项目构建脚本(一)
在公司服务器上搭了个自动化构建环境,一上午写了个构建脚本,现在贴出来给自己看
#!/bin/bash
# .配置路径变量
propath=/home/hotspot/.autoBuild/project
war_box=/home/hotspot/.autoBuild/project/war_box
# .war包的最终整理的路径
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
# .自动化构建 security 项目
cd $propath
# 不存在项目,则执行克隆
[ -d platform ] || git clone ssh://git@www.xank.com.cn:10022/base_framework/platform.git
cd platform
# 获得当前项目分支名称
currentBranch=`git branch | grep ^\* | sed -r "s/\*\s//g"`
# 如果分支名称不一致则检出
[ "$platform_branch"="$currentBranch" ] || git checkout -b $platform_branch remotes/origin/$platform_branch
# 拉取最新代码
git pull
cd security-base
# 编译并安装到本地仓库
mvn clean install
cd ../security
# 编译打包指定概要文件
mvn clean package -Pdeploy
# 移动生成的war包到指定目录
mv target/security.war $war_box
############## 与第5步一样,可不看 ###################
# .自动化构建 portal 项目
cd $propath
[ -d portal ] || git clone ssh://git@www.xank.com.cn:10022/base_framework/portal.git
cd portal
currentBranch=`git branch | grep ^\* | sed -r "s/\*\s//g"`
[ "$portal_branch"="$currentBranch" ] || git checkout -b $portal_branch remotes/origin/$portal_branch
git pull
mvn clean package -Pdeploy
mv target/portal.war $war_box
############## 与第5步一样,可不看 ###################
# . 自动化构建 cas 项目
cd $propath
[ -d cas ] || git clone ssh://git@www.xank.com.cn:10022/base_framework/cas.git
cd cas
currentBranch=`git branch | grep ^\* | sed -r "s/\*\s//g"`
[ "$cas_branch"="$currentBranch" ] || git checkout -b $cas_branch remotes/orgin/$cas_branch
git pull
mvn clean package -Pdeploy
mv target/cas.war $war_box
【Git】自动化Maven项目构建脚本(一)的更多相关文章
- 【Git】 自动化Maven项目构建脚本(二)
这次脚本增加了构建选择,可以按需构建了. #!/bin/bash #----------------------------------------------- # FileName: auto-b ...
- (转)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是apache的一个开源项目.是一个用来把源代码构建成可发布的构件的工具. Maven的功能非常强大,可以认为是一个项目管理工具,不仅仅是一个构建工具. Maven本身的核心很小,但是可以在 ...
- Maven项目构建过程练习
转载于:http://www.cnblogs.com/xdp-gacl/p/4051690.html 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建 ...
随机推荐
- JavaScript一个简易枚举类型实现扑克牌
<script type="text/javascript"> /** * 这个函数创建一个新的枚举类型,实参对象表示类的每个实例的名字和值 * 返回值是一个构造函数, ...
- 基于Node.js的微信JS-SDK后端接口实现
做了一个网站,放到线上,用微信打开,点击分享,可是分享后发给朋友的链接卡片是微信默认自带的,如下: 这标题,描述以及图片是默认自带的,丑不说,分享给别人还以为是盗号网站呢,而接入微信的JSSDK后,分 ...
- Jsp页面用table表格来让文字和文本框对齐
1, border="0" cellpadding="0" cellspacing="20", 第一个是页边距要设置0,第二个是用来指定单元 ...
- [javascript] visible - 待写
摘要 jquery 有个筛选器 visible , 一般用于选择 可见元素 $('p:visible') 就是选择可见的 p 元素. 但发现有时候不可用.!!
- 为什么 1000 == 1000会返回false,100 == 100会返回true
给你们看一段神奇的代码 /*对这段代码可以提供如下解释 * 判断两个对象是否相等的是看两个对象的引用是否相同 如果相同那么就返回true否则返回false * Integer会对-128~127之间的 ...
- Kotlin + Spring Boot 请求参数验证
编写 Web 应用程序的时候,经常要做的事就是要对前端传回的数据进行简单的验证,比如是否非空.字符长度是否满足要求,邮箱格式是否正确等等.在 Spring Boot 中,可以使用 Bean Valid ...
- 【bzoj3772】精神污染
Description 兵库县位于日本列岛的中央位置,北临日本海,南面濑户内海直通太平洋,中央部位是森林和山地,与拥有关西机场的大阪府比邻而居,是关西地区面积最大的县,是集经济和文化于一体的一大地区, ...
- 【RegExp】JavaScript中正则表达式判断匹配规则以及常用方法
字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在. 正则表达式是一种用来匹配字符串的强有力的武器.它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符 ...
- [dubbo实战] dubbo+zookeeper伪集群搭建
zookeeper作为注册中心,服务器和客户端都要访问,如果有大量的并发,肯定会有等待.所以可以通过zookeeper集群解决. 一.为什么需要zookeeper呢? 大部分分布式应用需要一个主控.协 ...
- Angular2 VS Angular4 深度对比:特性、性能
欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~ 在Web应用开发领域,Angular被认为是最好的开源JavaScript框架之一. Google的Angular团队已于3月 ...