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

#!/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. WinForm中AssemblyInfo.cs文件参数具体讲解

    在.NET中有一个配置文件AssemblyInfo.cs主要用来设定生成的有关程序集的常规信息dll文件的一些参数,下面是默认的AssemblyInfo.cs文件的内容具体介绍 //是否符合公共语言规 ...

  2. C# 汉语转拼音

    汉语转拼音或首字母 通常不少网站上有汉语转拼音功能,今天就小记下这段汉语转拼音的代码,自己测试ok,现把代码贴出来,以备日后使用: 效果 用法很简单后台使用到了两个类文件,一个是:ConvertHzT ...

  3. Tkinter开发第一个桌面程序HelloWorld

    在Python3中是tkinter,Python2中是Tkinter Tkinter是Python 官方承认的标准 GUI 方案(de-facto standard),因为是Python自带安装,决定 ...

  4. IDEA的热部署插件jrebel6.4.3版离线安装版配置与破解

    JRebel 介绍 IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费不少生命啊.目前对于idea热部署最好的解决方案就是安装JRebel插件 ...

  5. Carthage的安装和使用

    为什么要使用Carthage CocoaPods是已存在很长时间的Cocoa依赖管理器, 那么为什么要创建Carthage呢? CoaoaPods是一套整体解决方案,我们在Podfile中指定好我们需 ...

  6. EF 数据库迁移(Migration)

    Update-Database -ConnectionStringName "MyConnectionString"

  7. ubuntu下升级网卡驱动

    ubuntu下升级网卡驱动 无线局域网环境下,有个笔记本儿的无线经常断,而其它的终端都好好的,唯独它不行.所以想到检查和更新下无线网卡的驱动看看.以下是操作流程,记录一下. 阅读说明:##为标签, / ...

  8. 初学 Python(十二)——高阶函数

    初学 Python(十二)--高阶函数 初学 Python,主要整理一些学习到的知识点,这次是高阶函数. #-*- coding:utf-8 -*- ''''' 话说高阶函数: 能用函数作为参数的函数 ...

  9. WPF--TextBlock的ToolTip附加属性

    大家可能在项目中,有的时候,由于显示的内容过长,所以,需要显示一部分内容,然后后面用省略号,把鼠标放上去,会显示出来全部的内容. 作为一个LowB程序员的我,第一反应是SubString截取,然后替换 ...

  10. node-xlsx

    1.安装 必要组件 npm install node-xlsx -S /*Babel默认只转换新的JavaScript句法(syntax),而不转换新的API,比如Iterator.Generator ...