2024-01-07 18:30:31 +08:00

145 lines
3.3 KiB
Batchfile

@echo off
chcp 65001
setlocal enabledelayedexpansion
cls
cd /d %~dp0
ECHO 检查管理员权限
net.exe session 1>NUL 2>NUL && (
goto as_admin
) || (
goto not_admin
)
:as_admin
echo ==========传入参数1,是否压缩:%1
echo ==========传入参数2,是否微信:%2
set pZip=%1
set pWebChat=%2
if '%pZip%'=='' (
set pZip=1
)
if '%pWebChat%'=='' (
set pWebChat=1
)
set rootPublished=D:\SATLIC.COM.CLOUD.UI_ADMIN
set appName=云端后台管理界面
cd ..
set zipFile=%cd%\7Zip
cd ..
set rootPath=%cd%
set rootCodePath=%cd%\5.code
set rootDist=%rootCodePath%\dist
set versionBat=%cd%\8.version\每次编译.bat
set versionFile=%cd%\8.version\versiontemp.txt
::读取配置
set file99=%cd%\config.txt
for /f "tokens=*" %%a in (%file99%) do (
set var=%%a
if "!var:~0,16!"=="applicationName:" (
set appName=!var:~16,-1!!var:~-1,1!
)
if "!var:~0,16!"=="applicationCode:" (
set appCode=!var:~16,-1!!var:~-1,1!
)
if "!var:~0,10!"=="published:" (
set rootPublished=!var:~10,-1!!var:~-1,1!
)
)
set rootPublished=!rootPublished!.!appCode!
set appName=!appName!
set appCode=!appCode!
echo 准备发布:%appName%
echo ====地址:%rootPublished%
echo ====编号:%appCode%
ping 127.0.0.1 -n 3 >nul
echo 准备版本号
start %versionBat%>nul
for /f "tokens=1,2,3 delims=." %%a IN (%versionFile%) Do (
set tag1=%%a
set tag2=%%b
set tag3=%%c
)
set oldVersion=!tag1!.!tag2!.!tag3!
::替换
set d=%date: =0%
set t=%time: =0%
set productVersion=%oldVersion%.%d:~2,2%%d:~5,2%%d:~8,2%%t:~0,2%%t:~3,2%%t:~6,2%
echo %productVersion%
ping 127.0.0.1 -n 3 >nul
echo 发布测试服务
if exist %rootDist% rd /q /s %rootDist%
if exist %rootPublished% rd /q /s %rootPublished%
cd /d %rootCodePath%
call npm run build:dev
set publish=%rootPublished%\test
if exist %rootDist% (
if exist %publish% rd /q /s %publish%
md %publish%
xcopy %rootDist%\ %publish%\ /s /e /y /q
echo %productVersion%>%publish%\测试服务.v%productVersion%.txt
)
echo 发布正式服务
if exist %rootDist% rd /q /s %rootDist%
cd /d %rootCodePath%
call npm run build:prod
set publish=%rootPublished%\prod
if exist %rootDist% (
if exist %publish% rd /q /s %publish%
md %publish%
xcopy %rootDist%\ %publish%\ /s /e /y /q
echo %productVersion%>%publish%\正式服务.v%productVersion%.txt
)
:zip
if exist %rootPublished%\SATLIC.COM.%appCode%.tar.gz del /s /q %rootPublished%\SATLIC.COM.%appCode%.tar.gz
if %pZip%==1 (
goto zip2
) else (
goto end0
)
:zip2
if exist %zipFile% (
echo ==========打包安装包
cd /d %zipFile%
7za a -ttar %rootPublished%\SATLIC.COM.%appCode%.tar %rootPublished%\*
7za a -tgzip %rootPublished%\SATLIC.COM.%appCode%.tar.gz %rootPublished%\SATLIC.COM.%appCode%.tar
del /q %rootPublished%\SATLIC.COM.%appCode%.tar
rd /s /q %rootPublished%\prod
rd /s /q %rootPublished%\test
echo 打包完成
) else (
echo 未找到压缩软件
)
:webChat
if %pWebChat%==1 (
if exist %rootPublished%\SATLIC.COM.%appCode%.tar.gz (
%rootPath%\3.tools\panda\x.satlicNotice.exe 请发布:%appName% %rootPublished%\SATLIC.COM.%appCode%.tar.gz
)
)
goto end0
:not_admin
echo not as admin
:end0
echo 9s exit
ping 127.0.0.1 -n 3 >nul
echo 6s exit
ping 127.0.0.1 -n 3 >nul
echo 3s exit
ping 127.0.0.1 -n 3 >nul
exit