198 lines
6.6 KiB
Batchfile
Executable File
198 lines
6.6 KiB
Batchfile
Executable File
@ECHO OFF
|
|
SET PATH=%systemRoot%;%systemRoot%\system32;%PATH%
|
|
SET lastDir=%cd%
|
|
SET baseDir=%~dp0
|
|
SET cronDir=%baseDir%cron\
|
|
set sysCron=%cronDir%sys.cron
|
|
|
|
:: get phpcli and pmsRoot
|
|
SET phpcli=%1
|
|
SET pmsRoot=%2
|
|
:input_php
|
|
IF "%phpcli%"=="" SET /P phpcli="Please input your php path:(example: c:\windows\php.exe)"
|
|
if "%phpcli%"=="" (
|
|
echo php path is error
|
|
goto input_php
|
|
)
|
|
if not exist %phpcli% (
|
|
echo php path is error
|
|
goto input_php
|
|
)
|
|
:input_url
|
|
IF "%pmsRoot%"=="" SET /P pmsRoot="Please input zentao url:(example: http://localhost or http://127.0.0.1:88)"
|
|
IF "%pmsRoot%"=="" (
|
|
echo zentao url is error
|
|
goto input_url
|
|
)
|
|
|
|
:: get pmsRoot
|
|
if "%pmsRoot:~-1%" == "/" SET pmsRoot=%pmsRoot:~0,-1%
|
|
:: get requestType
|
|
SET requestType= 'PATH_INFO'
|
|
for /f "tokens=3" %%f in ('find /c "'PATH_INFO'" "%baseDir%..\config\my.php"') do set count=%%f
|
|
if not defined count set count=1
|
|
if %count% == 0 SET requestType='GET'
|
|
|
|
:: create ztcli
|
|
SET ztcli= %phpcli% %baseDir%ztcli %%*
|
|
echo %ztcli% > %baseDir%ztcli.bat
|
|
echo ztcli.bat ok
|
|
|
|
:: create backup.bat
|
|
if %requestType% == 'PATH_INFO' (
|
|
SET backup= %phpcli% %baseDir%ztcli "%pmsRoot%/backup-backup.html"
|
|
)else (
|
|
SET backup= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=backup&f=backup"
|
|
)
|
|
echo %backup% > %baseDir%backup.bat
|
|
echo backup.bat ok
|
|
|
|
:: create dailyreminder.bat
|
|
if %requestType% == 'PATH_INFO' (
|
|
SET computeburn= %phpcli% %baseDir%ztcli "%pmsRoot%/report-remind"
|
|
)else (
|
|
SET computeburn= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=report&f=remind"
|
|
)
|
|
echo %computeburn% > %baseDir%dailyreminder.bat
|
|
echo dailyreminder.bat ok
|
|
|
|
:: create computeburn.bat
|
|
if %requestType% == 'PATH_INFO' (
|
|
SET computeburn= %phpcli% %baseDir%ztcli "%pmsRoot%/execution-computeburn"
|
|
)else (
|
|
SET computeburn= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=execution&f=computeburn"
|
|
)
|
|
echo %computeburn% > %baseDir%computeburn.bat
|
|
echo computeburn.bat ok
|
|
|
|
:: create computetaskeffort.bat
|
|
if %requestType% == 'PATH_INFO' (
|
|
SET computetaskeffort= %phpcli% %baseDir%ztcli "%pmsRoot%/execution-computetaskeffort"
|
|
)else (
|
|
SET computetaskeffort= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=execution&f=computetaskeffort"
|
|
)
|
|
echo %computetaskeffort% > %baseDir%computetaskeffort.bat
|
|
echo computetaskeffort.bat ok
|
|
|
|
:: create checkdb.bat
|
|
if %requestType% == 'PATH_INFO' (
|
|
SET checkdb= %phpcli% %baseDir%ztcli "%pmsRoot%/admin-checkdb"
|
|
)else (
|
|
SET checkdb= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=admin&f=checkdb"
|
|
)
|
|
echo %checkdb% > %baseDir%checkdb.bat
|
|
echo checkdb.bat ok
|
|
|
|
:: create syncsvn.bat
|
|
if %requestType% == 'PATH_INFO' (
|
|
SET syncsvn= %phpcli% %baseDir%ztcli "%pmsRoot%/svn-run"
|
|
)else (
|
|
SET syncsvn= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=svn&f=run"
|
|
)
|
|
echo %syncsvn% > %baseDir%syncsvn.bat
|
|
echo syncsvn.bat ok
|
|
|
|
:: create syncgit.bat.
|
|
if %requestType% == 'PATH_INFO' (
|
|
SET syncgit= %phpcli% %baseDir%ztcli "%pmsRoot%/git-run"
|
|
)else (
|
|
SET syncgit= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=git&f=run"
|
|
)
|
|
echo %syncgit% > %baseDir%syncgit.bat
|
|
echo syncgit.bat ok
|
|
|
|
:: async send mail.
|
|
if %requestType% == 'PATH_INFO' (
|
|
SET sendmail= %phpcli% %baseDir%ztcli "%pmsRoot%/mail-asyncSend"
|
|
)else (
|
|
SET sendmail= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=mail&f=asyncSend"
|
|
)
|
|
echo %sendmail% > %baseDir%sendmail.bat
|
|
echo sendmail.bat ok
|
|
|
|
:: async send webhook.
|
|
if %requestType% == 'PATH_INFO' (
|
|
SET sendwebhook= %phpcli% %baseDir%ztcli "%pmsRoot%/webhook-asyncSend"
|
|
)else (
|
|
SET sendwebhook= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=webhook&f=asyncSend"
|
|
)
|
|
echo %sendwebhook% > %baseDir%sendwebhook.bat
|
|
echo sendwebhook.bat ok
|
|
|
|
:: create cycle todo.
|
|
if %requestType% == 'PATH_INFO' (
|
|
SET createcycle= %phpcli% %baseDir%ztcli "%pmsRoot%/todo-createCycle"
|
|
)else (
|
|
SET createcycle= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=todo&f=createCycle"
|
|
)
|
|
echo %createcycle% > %baseDir%createcycle.bat
|
|
echo createcycle.bat ok
|
|
|
|
:: init queue.
|
|
if %requestType% == 'PATH_INFO' (
|
|
SET initqueue= %phpcli% %baseDir%ztcli "%pmsRoot%/ci-initQueue"
|
|
)else (
|
|
SET initqueue= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=ci&f=initQueue"
|
|
)
|
|
echo %initqueue% > %baseDir%initqueue.bat
|
|
echo initqueue.bat ok
|
|
|
|
:: check build status.
|
|
if %requestType% == 'PATH_INFO' (
|
|
SET checkbuildstatus= %phpcli% %baseDir%ztcli "%pmsRoot%/ci-checkBuildStatus"
|
|
)else (
|
|
SET checkbuildstatus= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=ci&f=checkBuildStatus"
|
|
)
|
|
echo %checkbuildstatus% > %baseDir%checkbuildstatus.bat
|
|
echo checkbuildstatus.bat ok
|
|
|
|
:: execute compile.
|
|
if %requestType% == 'PATH_INFO' (
|
|
SET execcompile= %phpcli% %baseDir%ztcli "%pmsRoot%/ci-exec"
|
|
)else (
|
|
SET execcompile= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=ci&f=exec"
|
|
)
|
|
echo %execcompile% > %baseDir%execcompile.bat
|
|
echo execcompile.bat ok
|
|
|
|
:: delete log.
|
|
if %requestType% == 'PATH_INFO' (
|
|
SET deletelog= %phpcli% %baseDir%ztcli "%pmsRoot%/admin-deleteLog"
|
|
)else (
|
|
SET deletelog= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=admin&f=deleteLog"
|
|
)
|
|
echo %deletelog% > %baseDir%deletelog.bat
|
|
echo deletelog.bat ok
|
|
|
|
:: encrypt.
|
|
if exist "%baseDir%php\encrypt.php" (
|
|
SET encrypt= %phpcli% %baseDir%php\encrypt.php %%*
|
|
echo %encrypt% > %baseDir%encrypt.bat
|
|
echo encrypt.bat ok
|
|
)
|
|
|
|
:: create crond.bat
|
|
SET cron= %phpcli% %baseDir%php\crond.php
|
|
echo %cron% > %baseDir%crond.bat
|
|
echo crond.bat ok
|
|
|
|
:: create system cron.
|
|
if not exist %cronDir% md %cronDir%
|
|
echo # system cron. > %sysCron%
|
|
echo #min hour day month week command. >> %sysCron%
|
|
echo 0 1 * * * %baseDir%dailyreminder.bat # daily reminder. >> %sysCron%
|
|
echo 1 1 * * * %baseDir%backup.bat # backup database and file. >> %sysCron%
|
|
echo 1 23 * * * %baseDir%computeburn.bat # compute burndown chart. >> %sysCron%
|
|
echo 1-59/2 * * * * %baseDir%syncsvn.bat # sync subversion. >> %sysCron%
|
|
echo 1-59/2 * * * * %baseDir%syncgit.bat # sync git. >> %sysCron%
|
|
echo 1-59/5 * * * * %baseDir%sendmail.bat # async send mail. >> %sysCron%
|
|
echo 1-59/5 * * * * %baseDir%sendwebhook.bat # async send webhook. >> %sysCron%
|
|
echo 1 1 * * * %baseDir%createcycle.bat # create cycle todo. >> %sysCron%
|
|
echo 30 1 * * * %baseDir%deletelog.bat # delete log. >> %sysCron%
|
|
echo 1 0 * * * %baseDir%initqueue.bat # init queue. >> %sysCron%
|
|
echo 1-59/5 * * * * %baseDir%checkbuildstatus.bat # check build status. >> %sysCron%
|
|
echo 1-59/5 * * * * %baseDir%execcompile.bat # execute compile. >> %sysCron%
|
|
|
|
:: return 0 when success.
|
|
exit /b 0
|