zoukankan      html  css  js  c++  java
  • 【Git】自动化Maven项目构建脚本(一)

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

    #!/bin/bash
    
    # 1.配置路径变量
        propath=/home/hotspot/.autoBuild/project
        war_box=/home/hotspot/.autoBuild/project/war_box
    
    # 2.war包的最终整理的路径
        if [ -d $war_box ] ; then
            find $war_box -name '*.war' -type f -exec rm {} ;
        else
            mkdir -p $war_box
        fi
    
    # 3.项目分支名称
        #cas_branch=multi_tenant_removed
        #portal_branch=new_portal
        #platform_branch=dev-1.0.6
    
    # 4.判断配置文件是否存在,存在则执行配置文件
        if [ -f "$1" ] ; then
            sed -i 's/
    //g' $1
            source $1
        else
            echo "Configuration File Not Found!"
            exit 0
        fi
    
    # 5.自动化构建 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步一样,可不看 ###################
    # 6.自动化构建 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步一样,可不看 ###################
    # 7. 自动化构建 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
  • 相关阅读:
    芯片光刻的流程详解
    中国半导体上市公司2018年的表现盘点:材料和设备篇
    中国半导体上市公司2018年的表现盘点:代工和封测篇
    spring-cloud-sleuth 和 分布式链路跟踪系统
    Jdk和Spring Boot版本选择
    mockplus 原型设计工具
    showdoc 文档管理系统
    禅道项目管理系统
    docker 基础知识分享ppt
    项目管理成功之要素-转载
  • 原文地址:https://www.cnblogs.com/zhengwenqiang/p/7240968.html
Copyright © 2011-2022 走看看