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

本文介绍了一个用于自动化构建项目的bash脚本。该脚本能够自动配置环境、克隆项目、更新代码、编译打包并整理输出war包。适用于需要频繁进行自动化构建的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

#!/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/\r//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

 

转载于:https://www.cnblogs.com/zhengwenqiang/p/7240968.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值