这次脚本增加了构建选择,可以按需构建了。
#!/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/\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://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