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

#!/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. 面向对象15.3String类-常见功能-判断

    /*3.判断 * 3.1两个字符串内容是否相同? * boolean equals(Object obj)(参数是Object,不是String,因为equals是覆盖Object里面的equals方 ...

  2. Java中的二进制及基本的位运算

    Java中的二进制及基本的位运算 二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是"逢二进一",借位规则是"借一当二 ...

  3. Domains域

    一个域是一个criteria(度量标准)列表,每个criterion(标准尺度)是一个三元列表或者元组:field_name,operator,value. field_name(str) 当前模型的 ...

  4. Week 1 # A A + B Problem II

    原题描述: A - A + B Problem II I have a very simple problem for you. Given two integers A and B, your jo ...

  5. HTML5 开发APP

    近期在做app,现在项目进行了一段时间,我打算把自己的经验写出来,给自己总结一下也给会用小伙伴看一下.本人前端一枚.我们所以能选的技术就是CSS,HTML,JS了,经过准备我决定用HBuilder 准 ...

  6. 故障公告:docker swarm集群“群龙无首”引发部分站点无法访问

    今天傍晚 17:38-18:18 左右,由于 docker swarm 集群出现 "The swarm does not have a leader" 问题,造成博问.闪存.园子. ...

  7. 内核对象kobject和sysfs(3)——kobj分析

    内核对象kobject和sysfs(3)--kobj分析 在分析kobj之前,先总结下kobj的功能: 实现结构的动态管理: 实现内核对象到sysfs的映射: 实现自定义属性的管理. 关注一下kobj ...

  8. 读论文系列:Deep transfer learning person re-identification

    读论文系列:Deep transfer learning person re-identification arxiv 2016 by Mengyue Geng, Yaowei Wang, Tao X ...

  9. VM虚拟机中安装Linux操作系统

    本文操作步骤,笔者已实验成功 (前提:正确安装VM并激活) 1,点击新建虚拟机,在页面上选择"自定义",点击下一步 2,进入选择虚拟机硬件兼容页面,这里一般不用操作,直接点击下一步 ...

  10. R读取MySQL数据出现乱码,解决该问题的方法总结

    最终的解决办法直接看 4 我的思路: 我用的都是utf-8编码,电脑系统win7, MySQL-Front进行数据库的可视化. 1.我用的是RStudio,先去设置R的默认编码: Tools→Glob ...