在公司服务器上搭了个自动化构建环境,一上午写了个构建脚本,现在贴出来给自己看

#!/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项目构建脚本(一)的更多相关文章

  1. 【Git】 自动化Maven项目构建脚本(二)

    这次脚本增加了构建选择,可以按需构建了. #!/bin/bash #----------------------------------------------- # FileName: auto-b ...

  2. (转)Maven学习总结(二)——Maven项目构建过程练习

    孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(二)——Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项 ...

  3. Maven学习总结(2)——Maven项目构建过程练习

    Maven学习总结(二)--Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建 ...

  4. 准备阶段-maven项目构建

    依据我现阶段对maven的了解,具使用POM管理项目和强大的repository资源管理库支持. 在项目建立初期,对网站的可拓展.高并发.易于管理做了评估.最终使用Maven 管理该项目 . 如下是m ...

  5. Maven学习总结(二)——Maven项目构建过程练习

    上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立M ...

  6. Maven学习总结(二)——Maven项目构建过程练习_转载

    上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立M ...

  7. 转】Maven学习总结(二)——Maven项目构建过程练习

    原博文出自于:http://www.cnblogs.com/xdp-gacl/p/4051690.html 感谢! 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven ...

  8. maven项目构建

    Maven是apache的一个开源项目.是一个用来把源代码构建成可发布的构件的工具. Maven的功能非常强大,可以认为是一个项目管理工具,不仅仅是一个构建工具. Maven本身的核心很小,但是可以在 ...

  9. Maven项目构建过程练习

    转载于:http://www.cnblogs.com/xdp-gacl/p/4051690.html 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建 ...

随机推荐

  1. 【.net 深呼吸】监听剪贴板更新(针对Vista之后系统)

    针对 XP 及以前的监视剪贴板更改的方法就不讲了,因为 XP 已严重过时.本篇老周介绍的方法面向 Vista 以上的系统. 在托管应用程序中监听剪贴板更新行为必须用到 Win 32 API ,具体做法 ...

  2. BootLoader--改进(基于2440)

    BootLoader--改进 之前编写的Bootloader启动内核时间使用差不多7秒钟的时间,大多都是用在CPU将内核从Nandflash读取到SDRam中,故首先想到的方法是改变CPU时钟频率. ...

  3. Spring Boot 系列(四)静态资源处理

    在web开发中,静态资源的访问是必不可少的,如:图片.js.css 等资源的访问. spring Boot 对静态资源访问提供了很好的支持,基本使用默认配置就能满足开发需求. 一.默认静态资源映射 S ...

  4. 基于requirejs和angular搭建spa应用

    接上篇,angular 实战部分,angular比较适合spa项目,这里不借助任何seed和构建工具,直接从零搭建,基本的angular项目结构大致包含如下几个部分: 1)app.js 入口 2)in ...

  5. luogu P1361 小猫爬山 [iddfs]

    题目描述 WD和LHX饲养了N只小猫,这天,小猫们要去爬山.经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了. WD和LHX只好花钱让它们坐索道下山.索道上的缆车最大承重量为W ...

  6. C#中的Infinity和NaN

    C#中double和float类型有两个特殊值: Infinity(无穷大):5.0 / 0.0 = Infinity NaN(not a number):0.0 / 0.0 = NaN 计算表达式 ...

  7. (转)Java中equals和==的区别

    java中的数据类型,可分为两类:  1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolean    他们之间的比较,应用双等号( ...

  8. 【SignalR学习系列】3. SignalR实时高刷新率程序

    创建项目 创建一个空的 Web 项目,并在 Nuget 里面添加 SignalR,jQuery UI 包,添加以后项目里包含了 jQuery,jQuery.UI ,和 SignalR 的脚本. 创建基 ...

  9. 基于Windows环境下Myeclipse10.0下载安装破解及jdk的下载安装及环境变量的配置

    jdk的安装及环境变量的配置 1.安装JDK开发环境 附上jdk安装包的百度云链接 链接:http://pan.baidu.com/s/1mh6QTs8 密码:jkb6(当然自行去官网下载最好哒,可以 ...

  10. nginx实现wap移动端和PC端业务分离

    随着移动互联网时代的来临,很多WEB网站都已经推出了基于手机,Ipad等移动客户端的页面访问,这里介绍一下如何利用用户UA实现用户不同终端下的用户访问: $http_user_agent  为ngin ...