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

这次脚本增加了构建选择,可以按需构建了。

#!/bin/bash
#-----------------------------------------------
# FileName: auto-build.sh
# Reversion: 1.2
# Date: 2017/07/27
# Author: zhengwenqiang
# Email: [email protected]
# 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: 2017(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-1.0.6

if [ -f "$1" ] ; then
    sed -i ‘s/\r//g‘ $1
    source $1
else
    echo "Configuration File Not Found!"
    exit 0
fi

read -n 1 -p "Do you want to build security ?(Y|y|N|n):" isBuildSecurity
case $isBuildSecurity in
        Y|y)
        cd $propath
        [ -d platform ] || git clone ssh://[email protected]: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 1 -p "Do you want to build portal ?(Y|y|N|n):" isBuildPortal
case $isBuildPortal in
        Y|y)
        cd $propath
        [ -d portal ] || git clone ssh://[email protected]: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 1 -p "Do you want to build cas ?(Y|y|N|n):" isBuildCas
case $isBuildCas in
        Y|y)
    cd $propath
    [ -d cas ] || git clone ssh://[email protected]: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
时间: 2024-10-31 03:49:13

【Git】 自动化Maven项目构建脚本(二)的相关文章

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

Maven学习总结(二)——Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立Maven约定的目录结构和pom.xml文件 Hello | --src | -----main | ----------java | ----------resources | -----test | ---------java | -----

SpringMVC + Mybatis + SpringSecurity(权限控制到方法按钮) + Rest(服务) + Webservice(服务) + Quartz(定时调度)+ Lucene(搜索引擎) + HTML5 bootstrap + Maven项目构建绝对开源平台

框架整合: Springmvc + Mybatis + Shiro(权限) + REST(服务) + WebService(服务) + JMS(消息) + Lucene(搜搜引擎) + Quartz(定时调度) + Bootstrap Html5(支持PC.IOS.Android) 需要源码请加Q:3121026417   此处[源码获取地址] 框架简介: 项目Maven构建,真实大型互联网架构,做到高并发,大数据处理,整个项目使用定制化服务思想,提供模块化.服务化.原子化的方案,将功能模块进行

springmvc+spring+mybatis+maven项目构建

1.首先在myeclipse10中安装maven的插件,将插件放入D:\Program Files (x86)\myEclipse10\MyEclipse Blue Edition 10\dropins\maven中, 2. 新建文件:maven.link填入如下内容:path=D:/Program Files (x86)/myEclipse10/MyEclipse Blue Edition 10/dropins/maven 3.重启myeclipse插件安装成功. 4.在myeclipse10

maven项目构建

Maven是apache的一个开源项目.是一个用来把源代码构建成可发布的构件的工具. Maven的功能非常强大,可以认为是一个项目管理工具,不仅仅是一个构建工具. Maven本身的核心很小,但是可以在上面扩展出很多的插件.Mven采用的是插件的思想,通过插件的功能扩展出很多的功能.同时Maven采用约定大于配置的思想,在项目中采用了很多约定规则来减少配置.不想ant这样的构建工具需要很多的配置.作为一个项目构建工具,最重要的是管理项目的库和项目之间的依赖关系. 本文将以以下面的例子,来作为学习m

linux下jenkins+svn+maven项目构建

一.安装部署jenkins 1.下载jenkins.war(http://jenkins-ci.org/) 2.新建tomcat服务器,配置端口等config信息,并将项目地址指向jenkins.war文件 3.启动tomcat服务器.启动成功后用浏览器打开访问地址http://127.0.0.1:8000,查看jenkins是否被成功部署(如下图). 二.配置jenkins及maven依赖 1.jenkins需要依赖jdk.如果服务器未安装jdk则需要先安装jdk.因为我们希望使用maven进

maven——项目构建和依赖管理工具

apache maven是一个用于项目构建和依赖管理的工具. 添加archetype https://repo1.maven.org/maven2/archetype-catalog.xml 更改本地仓库存储位置:修改配置文件${user.home}/.m2/settings.xml或 $MAVEN_HOME/conf/setting.xml中的内容 <localRepository>... mvn archetype:generate会非常慢,搜索了本地和远程太多archetype,而加上-

gitlab+jenkins+maven+docker持续集成(五)——Maven 项目构建配置

首先,安装插件Maven Integration plugin 接下来我们配置Global Tool Configuration 前提先在系统里安装好jdk, maven, 创建maven项目 其它配置大同小异,主要说明下这步 pom.xml 我这里的是在项目中,如果是其它路径这里直接配置好路径就可以 pom.xml配置这里略过 配置后,我们构建

使用nodeJS实现前端项目自动化之项目构建和文件合并

前面的话 一般地,我们使用构建工具来完成项目的自动化操作.本文主要介绍如何使用nodeJS来实现简单的项目结构构建和文件合并 项目构建 假设,最终实现的项目名称为'test',结构如下图所示 那么,首先需要先设置一个JSON对象来保存要创建的目录结构 var projectData = { 'name' : 'test', 'fileData' : [ { 'name' : 'css', 'type' : 'dir' }, { 'name' : 'js', 'type' : 'dir' }, {

eslipse下用git管理maven项目

共同开发当中eslipse下管理maven项目总是会出现冲突,所以建议下载一个git来管理开发 首先下载好git,具体到哪里下载百度一下会死啊?  会.. 然后git Clone填写地址.就是研发git项目的地址, 然后git settings进行配置 勾上需要的菜单项:  主要的有pull(下载项目归并),push(上传项目),commite(上传到本地),git add添加 这样你右键就可以看到你需要的菜单了. 项目的提交过程,一般add(之前有这个文件只是添加修改就不需要add)->com