使用场景
多个微服务下,maven会打包成N个jar,希望能自动打包,拷贝到发布目录,并自动启动各个服务。
以下dos命令会执行三个步骤:
1.maven自动清理并打包
2.copy文件至指定发布目录
3.启动注册中心,15s后再启动其他组件
命令分为两部分,可根据需要自行和在一起
maven构建并copy
rem -------------------------------------------------------------------
rem -------------------------------------------------------------------
rem run maven clean & package
rem -------------------------------------------------------------------
rem -------------------------------------------------------------------
cd /d D:\03_Idea_Projects\OAM_OAM
start mvn clean package
pause
echo continue pause
rem -------------------------------------------------------------------
rem -------------------------------------------------------------------
rem copy jar to D..
rem -------------------------------------------------------------------
rem -------------------------------------------------------------------
copy D:\03_Idea_Projects\OAM_OAM\oamboot-eureka-server\target\oamEurekaServer.jar D:\
copy D:\03_Idea_Projects\OAM_OAM\oamboot-zuul\target\oamZuul.jar D:\
copy D:\03_Idea_Projects\OAM_OAM\oamboot-basic\target\oambootBasic.jar D:\
copy D:\03_Idea_Projects\OAM_OAM\oamboot-cmdb\target\oambootCmdb.jar D:\
copy D:\03_Idea_Projects\OAM_OAM\oamboot-email\target\oambootEmail.jar D:\
copy D:\03_Idea_Projects\OAM_OAM\oamboot-file\target\oambootFile.jar D:\
copy D:\03_Idea_Projects\OAM_OAM\oamboot-activiti\target\oambootActiviti.jar D:\
@echo off
pause
echo continue pause
启动微服务
先启动注册中心,15s后启动其他组件
start cmd /k "java -jar d:/oamEurekaServer.jar"
rem -------------------------------------------------------------------
rem -------------------------------------------------------------------
rem The command will continue to execute after 15 seconds of sleep ....
rem -------------------------------------------------------------------
rem -------------------------------------------------------------------
@echo off
ping -n 15 127.1>nul
start cmd /k "java -jar d:/oambootEmail.jar"
start cmd /k "java -jar d:/oamZuul.jar"
start cmd /k "java -jar d:/oambootCmdb.jar"
start cmd /k "java -jar d:/oambootBasic.jar"
自动打包
个人使用,代码自动下载,并覆盖配置文件,然后打war包,并统一拷贝到指定位置。
文件夹说明:
01_config 存放的是配置,主要是pom、spring-boot启动java类、以及配文件
02_code_download 是从gitlab上下载的代码目录(也可以是svn)
03_output 是打包后的war包输出目录
set baseDir=%cd%
set configDir=01_config
set codeDir=02_code_download
set outputDir=03_output
cd %baseDir%
rmdir /s/q %codeDir%
rmdir /s/q %outputDir%
md %codeDir%
md %outputDir%
rem -------------------------------------------------------------------
rem -------------------------------------------------------------------
rem delete codes completed,delete coutput completed
rem -------------------------------------------------------------------
rem -------------------------------------------------------------------
cd %baseDir%
start cmd /k "git clone http://XXXXX这里写路径XXXX.git %codeDir%"
@echo off
pause
echo continue pause
@echo on
cd %baseDir%
xcopy /y %configDir%\oamboot-eureka-server %codeDir%\oamboot-eureka-server\ /s /e
xcopy /y %configDir%\oamboot-zuul %codeDir%\oamboot-zuul\ /s /e
xcopy /y %configDir%\oamboot-basic %codeDir%\oamboot-basic\ /s /e
xcopy /y %configDir%\oamboot-activiti %codeDir%\oamboot-activiti\ /s /e
xcopy /y %configDir%\oamboot-cmdb %codeDir%\oamboot-cmdb\ /s /e
xcopy /y %configDir%\oamboot-file %codeDir%\oamboot-file\ /s /e
xcopy /y %configDir%\oamboot-email %codeDir%\oamboot-email\ /s /e
xcopy /y %configDir%\oamboot-applyDB %codeDir%\oamboot-applyDB\ /s /e
xcopy /y %configDir%\oamboot-applyOperation %codeDir%\oamboot-applyOperation\ /s /e
xcopy /y %configDir%\oamboot-applyBasicOperation %codeDir%\oamboot-applyBasicOperation\ /s /e
rem -------------------------------------------------------------------
rem -------------------------------------------------------------------
rem override config completed
rem -------------------------------------------------------------------
rem -------------------------------------------------------------------
@echo off
pause
echo continue pause
@echo on
rem -------------------------------------------------------------------
rem -------------------------------------------------------------------
rem run maven clean & package
rem -------------------------------------------------------------------
rem -------------------------------------------------------------------
cd /d %baseDir%\%codeDir%
start mvn clean package
@echo off
pause
echo continue pause
@echo on
rem -------------------------------------------------------------------
rem -------------------------------------------------------------------
rem copy wars to output
rem -------------------------------------------------------------------
rem -------------------------------------------------------------------
cd %baseDir%\%codeDir%
cd %baseDir%\%codeDir%
@echo off
for /d %%i in (%baseDir%\%codeDir%\*) do (
copy %%i\target\*.war %baseDir%\%outputDir%
)
rem -------------------------------------------------------------------
rem -------------------------------------------------------------------
rem all done
rem -------------------------------------------------------------------
rem -------------------------------------------------------------------
@echo off
pause
echo continue pause
start "" %baseDir%\%outputDir%