最近做了个jenkins配合gitlab自动部署java项目到windows server服务器。
jenkins和gitlab在linux下,好一顿折腾,先记录下脚本,其余后续补充吧。
把java项目作为服务
https://github.com/winsw/winsw
后端
@echo off set ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2% set ymd=%ymd: =0% :: 定义常用文件夹路径 set jarname=jelly-web.jar set sourcefolder=e:\jenkins\source\jelly-back\ set jarfolder=e:\jenkins\source\jelly-back\jelly-web\target\ set targetfolder=e:\app\jelly\backend\ set backupfolder=e:\jenkins\backup\ echo 接收到构建任务 e: echo 进入代码文件夹 cd %sourcefolder% echo 切换到 master 分支 git checkout master echo 拉取最新代码 git pull echo 打包代码 call mvn clean -u install -dmaven.test.skip=true echo 打包完成 拷贝jar包 if exist %jarfolder%%jarname% ( rem 停止服务 net stop jelly-back if exist %targetfolder%%jarname% ( echo 存在旧的构建【%targetfolder%%jarname%】,备份 ::把原来发布的版本 备份 copy /y %targetfolder%%jarname% %backupfolder%\jelly-web-%ymd%.jar echo 删除旧的构建【%targetfolder%%jarname%】 ::把发布文件夹的jar包删除 del %targetfolder%%jarname% ) ::把当前gitlab文件夹下的jar包移动到发布文件夹 move %jarfolder%%jarname% %targetfolder% cd %targetfolder% net start jelly-back echo 启动项目【%jarname%】成功 ) else ( echo 文件【%jarfolder%%jarname%】不存在,打包失败,请检查! )
前端
@echo off set ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2% set ymd=%ymd: =0% :: 定义常用文件夹路径 set distname=dist set sourcefolder=e:\jenkins\source\jelly-ui\ set distfolder=e:\jenkins\source\jelly-ui\dist\ set targetfolder=e:\app\jelly\fontend\ set backupfolder=e:\jenkins\backup\ echo 接收到构建任务 e: echo 进入代码文件夹 cd %sourcefolder% echo 切换到 master 分支 git checkout master echo 拉取最新代码 git pull echo 打包代码 call npm install call npm run build:prod echo 打包完成 拷贝打包后文件 if exist %sourcefolder% ( if exist %targetfolder%%distname%\ ( echo 存在旧的构建【%targetfolder%%distname%】,备份 ::把原来发布的版本 备份 xcopy %targetfolder%%distname% %backupfolder%%distname%-%ymd%\ /q /e /r /s /y ) ::把当前文件夹下的dist移动到发布文件夹 echo 把当前文件夹下的dist移动到发布文件夹 xcopy %distfolder% %targetfolder%%distname%\ /q /e /r /s /y ) else ( echo 文件【%sourcefolder%】不存在,打包失败,请检查! )
到此这篇关于批处理bat脚本获取打包发布问题的文章就介绍到这了,更多相关批处理bat脚本内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论