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


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

    #!/bin/bash
    #-----------------------------------------------
    # FileName: auto-build.sh
    # Reversion: 1.2
    # Date: 2017/07/27
    # Author: zhengwenqiang
    # Email: zhengwenqiang@bonc.com.cn
    # 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/
    //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://git@code.bonc.com.cn: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://git@code.bonc.com.cn: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://git@code.bonc.com.cn: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
  • 相关阅读:
    《ASP.NET Core跨平台开发从入门到实战》Web API自定义格式化protobuf
    .NET Core中文分词组件jieba.NET Core
    .NET Core 2.0及.NET Standard 2.0
    Visual Studio 2017 通过SSH 调试Linux 上.NET Core
    Visual Studio 2017 ASP.NET Core开发
    Visual Studio 2017正式版离线安装及介绍
    在.NET Core 上运行的 WordPress
    IT人员如何开好站立会议
    puppeteer(二)操作实例——新Web自动化工具更轻巧更简单
    puppeteer(一)环境搭建——新Web自动化工具(同selenium)
  • 原文地址:https://www.cnblogs.com/zhengwenqiang/p/7249642.html
Copyright © 2020-2023  润新知