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

来源:互联网 发布:闪电侠制造了人工智能 编辑:程序博客网 时间:2024/05/16 02:48
这次脚本增加了构建选择,可以按需构建了。

#!/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/projectwar_box=/home/hotspot/.autoBuild/project/war_boxif [ -d $war_box ] ; then    find $war_box -name '*.war' -type f -exec rm {} \;else    mkdir -p $war_boxfi#cas_branch=multi_tenant_removed#portal_branch=new_portal#platform_branch=dev-1.0.6if [ -f "$1" ] ; then    sed -i 's/\r//g' $1    source $1else    echo "Configuration File Not Found!"    exit 0firead -n 1 -p "Do you want to build security ?(Y|y|N|n):" isBuildSecuritycase $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            ;;       *)            ;;esacread -n 1 -p "Do you want to build portal ?(Y|y|N|n):" isBuildPortalcase $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        ;;    *)        ;;esacread -n 1 -p "Do you want to build cas ?(Y|y|N|n):" isBuildCascase $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

 

阅读全文
0 0
原创粉丝点击