windows环境脚本一键拉git代码maven打包java项目

一:前提背景

测试同学需要打包项目上传到容器服务器上,由于测试同学不会用idea、java、git、maven。导致学习成本增加,现写一个简陋的bat脚本,一键进行拉代码,切分支,更新分支为最新代码,根据指定环境进行打包,统一输出到指定目录下
前提条件:

  • 安装jdk,并配置j环境变量
  • 安装maven,并配置环境变量
  • 安装git,并配置环境变量,并设置正确的用户名、密码

二:脚本介绍

共有三个脚本,作用分别为:下载代码并切到指定分支,更新指定分支的代码并打包,将编译好的包统一放到指定目录下

  1. first-upload.bat脚本,用于下载代码并切到指定分支,第一次执行,会覆盖指定文件夹的内容,这里我设置的是D:\work\package\molo
  2. second-package.bat脚本,用于更新该分支的代码,并进行maven打包。
  3. third-collect.bat脚本,用于收集每个应用下target的编译包到指定目录

三:使用方式

将三个脚本放到D:盘下,双击first-upload.bat即可。
说明:

  • 需要修改脚本的git地址
  • 需要修改脚本的应用名称
  • 需要修改脚本的环境标识

四:脚本源码

4.1:first-upload.bat(下载代码并切分支)
@echo off

rd/s/q D:\work\package\molo
mkdir D:\work\package\molo
cd D:\work\package\molo

echo ---------------开始下载摹略代码-------------------------
git clone https://jcode.jdfmgt.com/git/cloud-martech-manager.git
git clone https://jcode.jdfmgt.com/git/cloud-martech-execute.git
git clone https://jcode.jdfmgt.com/git/cloud-martech-schedule.git
git clone https://jcode.jdfmgt.com/git/cloud-martech-pagoda.git
git clone https://jcode.jdfmgt.com/git/cloud-martech-data-store.git
git clone https://jcode.jdfmgt.com/git/cloud-martech-data-flink.git
git clone https://jcode.jdfmgt.com/git/cloud-abtest.git
git clone https://jcode.jdfmgt.com/git/cloud-abtest-rpc.git
git clone https://jcode.jdfmgt.com/git/cloud-abtest-rpc.git
git clone https://jcode.jdfmgt.com/git/cloud_martech_filter.git
echo ---------------摹略代码下载完毕-------------------------
echo ---------------是否开始将代码切到base分支-------------------------
TIMEOUT  /T 30

cd D:\work\package\molo\cloud-martech-manager
git checkout base
cd D:\work\package\molo\cloud-martech-execute
git checkout base
cd D:\work\package\molo\cloud-martech-schedule
git checkout base
cd D:\work\package\molo\cloud-martech-pagoda
git checkout base
cd D:\work\package\molo\cloud-martech-data-store
git checkout base
cd D:\work\package\molo\cloud-martech-data-flink
git checkout base
cd D:\work\package\molo\cloud-abtest
git checkout base
cd D:\work\package\molo\cloud-abtest-rpc
git checkout base
cd D:\work\package\molo\cloud_martech_filter
git checkout base
echo ---------------是否开始对各应用打包-------------------------
TIMEOUT  /T 30
call D:\second-package.bat

4.2:second-package.bat(更新分支代码并打包)
@echo off

set flinkProfiex=ex
echo ---------------------即将打包flink,环境为: %flinkProfiex% ----------------
TIMEOUT  /T 20
cd D:\work\package\molo\cloud-martech-data-flink
git pull
call mvn clean package -Dmaven.test.skip=true -P%flinkProfiex%

echo ---------------------即将打包manager ----------------
TIMEOUT  /T 20
cd D:\work\package\molo\cloud-martech-manager
git pull
call mvn clean package -Dmaven.test.skip=true
echo ---------------------即将打包execute ----------------
TIMEOUT  /T 30
cd D:\work\package\molo\cloud-martech-execute
git pull
call mvn clean package -Dmaven.test.skip=true

echo ---------------------即将打包schedule ----------------
TIMEOUT  /T 20
cd D:\work\package\molo\cloud-martech-schedule
git pull
call mvn clean package -Dmaven.test.skip=true

echo ---------------------即将打包pagoda ----------------
TIMEOUT  /T 20
cd D:\work\package\molo\cloud-martech-pagoda
git pull
call mvn clean package -Dmaven.test.skip=true

echo ---------------------即将打包data-store ----------------
TIMEOUT  /T 20
cd D:\work\package\molo\cloud-martech-data-store
git pull
call mvn clean package -Dmaven.test.skip=true

echo ---------------------即将打包abtest ----------------
TIMEOUT  /T 20
cd D:\work\package\molo\cloud-abtest
git pull
call mvn clean package -Dmaven.test.skip=true

echo ---------------------即将打包abtest-rpc ----------------
TIMEOUT  /T 20
cd D:\work\package\molo\cloud-abtest-rpc
git pull
call mvn clean package -Dmaven.test.skip=true

echo ---------------------即将打包filter ----------------
TIMEOUT  /T 20
cd D:\work\package\molo\cloud_martech_filter
git pull
call mvn clean package -Dmaven.test.skip=true

TIMEOUT  /T 20

echo ---------------------所有命令执行完毕,即将退出 ----------------
pause

4.3:third-collect.bat(收集所有编辑包)
@echo off


echo -----------------收集所有打的包--------------------
rd/s/q D:\work\package\molo\collectPackage
mkdir D:\work\package\molo\collectPackage
copy D:\work\package\molo\cloud-martech-manager\manager-web\target\cloud-martech-manager.tar D:\work\package\molo\collectPackage
copy D:\work\package\molo\cloud-martech-execute\martech-execute-web\target\cloud-martech-execute.tar D:\work\package\molo\collectPackage
copy D:\work\package\molo\cloud-martech-schedule\target\cloud-martech-schedule.tar D:\work\package\molo\collectPackage
copy D:\work\package\molo\cloud-martech-pagoda\pagoda-web\target\cloud-martech-pagoda.tar D:\work\package\molo\collectPackage
copy D:\work\package\molo\cloud-martech-data-store\target\cloud-martech-data-store.tar D:\work\package\molo\collectPackage
copy D:\work\package\molo\cloud-abtest\jr-abtest-web\target\cloud-abtest.tar D:\work\package\molo\collectPackage
copy D:\work\package\molo\cloud-abtest-rpc\jr-abtest-rpc\target\cloud-abtest-rpc.tar D:\work\package\molo\collectPackage
copy D:\work\package\molo\cloud_martech_filter\target\cloud-martech-filter.tar D:\work\package\molo\collectPackage

echo ---------------所有打的包都收集好了,请在D:\work\package\molo\collectPackage下查收-------------
pause

五:遇到问题

  1. 遇到mvn命令执行完直接退出了,前面增加call命令即可
  2. 乱码了,将文件的另存为另一个文件,并且编码为ANSI
  3. 打印执行的命令了,只需在文件的开头 @echo off就行了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值