202 lines
6.7 KiB
Bash
Executable File
202 lines
6.7 KiB
Bash
Executable File
#!/bin/bash
|
|
# usage: ./init.sh /usr/bin/php http://localhost
|
|
|
|
phpcli=$1
|
|
pmsRoot=$2
|
|
basePath=$(cd "$(dirname "$0")"; pwd)
|
|
if [ ! -n "$1" ]; then
|
|
while :; do
|
|
echo "Please input your php path:(example: /usr/bin/php)"
|
|
read phpcli
|
|
if [ ! -f $phpcli ]; then
|
|
echo "php path is error";
|
|
elif [ "$phpcli"x != ""x ]; then
|
|
break;
|
|
fi
|
|
done
|
|
fi
|
|
if [ ! -n "$2" ]; then
|
|
while :; do
|
|
echo "Please input zentao url:(example: http://localhost:88/zentao or http://localhost)"
|
|
read pmsRoot
|
|
if [ -z "$pmsRoot" ]; then
|
|
echo "zentao url is error";
|
|
else
|
|
break;
|
|
fi
|
|
done
|
|
fi
|
|
|
|
pmsRoot=`echo "$pmsRoot" | sed 's/[/]$//g'`
|
|
cat $basePath/../config/my.php |awk '$1!~/^\/\//&& $1~/\$config\->requestType/{requestType = $0} END{print requestType}'| grep -c 'PATH_INFO' > ./init.tmp
|
|
if [ "`cat ./init.tmp`" != 0 ];then
|
|
requestType='PATH_INFO';
|
|
else
|
|
requestType='GET';
|
|
fi
|
|
rm ./init.tmp
|
|
|
|
# ztcli
|
|
ztcli="$phpcli $basePath/ztcli \$*"
|
|
echo $ztcli > $basePath/ztcli.sh
|
|
echo "ztcli.sh ok"
|
|
|
|
# backup database
|
|
if [ $requestType == 'PATH_INFO' ]; then
|
|
backup="$phpcli $basePath/ztcli '$pmsRoot/backup-backup.html'";
|
|
else
|
|
backup="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=backup&f=backup'";
|
|
fi
|
|
echo $backup > $basePath/backup.sh
|
|
echo "backup.sh ok"
|
|
|
|
# computeburn
|
|
if [ $requestType == 'PATH_INFO' ]; then
|
|
computeburn="$phpcli $basePath/ztcli '$pmsRoot/execution-computeburn'";
|
|
else
|
|
computeburn="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=execution&f=computeburn'";
|
|
fi
|
|
echo $computeburn > $basePath/computeburn.sh
|
|
echo "computeburn.sh ok"
|
|
|
|
# compute task effort.
|
|
if [ $requestType == 'PATH_INFO' ]; then
|
|
computetaskeffort="$phpcli $basePath/ztcli '$pmsRoot/execution-computetaskeffort'";
|
|
else
|
|
computetaskeffort="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=execution&f=computetaskeffort'";
|
|
fi
|
|
echo $computetaskeffort > $basePath/computetaskeffort.sh
|
|
echo "computetaskeffort.sh ok"
|
|
|
|
# daily remind
|
|
if [ $requestType == 'PATH_INFO' ]; then
|
|
checkdb="$phpcli $basePath/ztcli '$pmsRoot/report-remind'";
|
|
else
|
|
checkdb="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=report&f=remind'";
|
|
fi
|
|
echo $checkdb > $basePath/dailyreminder.sh
|
|
echo "dailyreminder.sh ok"
|
|
|
|
# check database
|
|
if [ $requestType == 'PATH_INFO' ]; then
|
|
checkdb="$phpcli $basePath/ztcli '$pmsRoot/admin-checkdb'";
|
|
else
|
|
checkdb="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=admin&f=checkdb'";
|
|
fi
|
|
echo $checkdb > $basePath/checkdb.sh
|
|
echo "checkdb.sh ok"
|
|
|
|
# syncsvn.
|
|
if [ $requestType == 'PATH_INFO' ]; then
|
|
syncsvn="$phpcli $basePath/ztcli '$pmsRoot/svn-run'";
|
|
else
|
|
syncsvn="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=svn&f=run'";
|
|
fi
|
|
echo $syncsvn > $basePath/syncsvn.sh
|
|
echo "syncsvn.sh ok"
|
|
|
|
# syncgit.
|
|
if [ $requestType == 'PATH_INFO' ]; then
|
|
syncgit="$phpcli $basePath/ztcli '$pmsRoot/git-run'";
|
|
else
|
|
syncgit="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=git&f=run'";
|
|
fi
|
|
echo $syncgit > $basePath/syncgit.sh
|
|
echo "syncgit.sh ok"
|
|
|
|
# async send mail.
|
|
if [ $requestType == 'PATH_INFO' ]; then
|
|
mailsend="$phpcli $basePath/ztcli '$pmsRoot/mail-asyncSend'";
|
|
else
|
|
mailsend="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=mail&f=asyncSend'";
|
|
fi
|
|
echo $mailsend > $basePath/sendmail.sh
|
|
echo "sendmail.sh ok"
|
|
|
|
# async send webhook.
|
|
if [ $requestType == 'PATH_INFO' ]; then
|
|
sendwebhook="$phpcli $basePath/ztcli '$pmsRoot/webhook-asyncSend'";
|
|
else
|
|
sendwebhook="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=webhook&f=asyncSend'";
|
|
fi
|
|
echo $sendwebhook > $basePath/sendwebhook.sh
|
|
echo "sendwebhook.sh ok"
|
|
|
|
# create cycle todo.
|
|
if [ $requestType == 'PATH_INFO' ]; then
|
|
createcycle="$phpcli $basePath/ztcli '$pmsRoot/todo-createCycle'";
|
|
else
|
|
createcycle="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=todo&f=createCycle'";
|
|
fi
|
|
echo $createcycle > $basePath/createcycle.sh
|
|
echo "createcycle.sh ok"
|
|
|
|
# init queue.
|
|
if [ $requestType == 'PATH_INFO' ]; then
|
|
initqueue="$phpcli $basePath/ztcli '$pmsRoot/ci-initQueue'";
|
|
else
|
|
initqueue="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=ci&f=initQueue'";
|
|
fi
|
|
echo $initqueue > $basePath/initqueue.sh
|
|
echo "initqueue.sh ok"
|
|
|
|
# check build status.
|
|
if [ $requestType == 'PATH_INFO' ]; then
|
|
checkbuildstatus="$phpcli $basePath/ztcli '$pmsRoot/ci-checkBuildStatus'";
|
|
else
|
|
checkbuildstatus="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=ci&f=checkBuildStatus'";
|
|
fi
|
|
echo $checkbuildstatus > $basePath/checkbuildstatus.sh
|
|
echo "checkbuildstatus.sh ok"
|
|
|
|
# execute compile.
|
|
if [ $requestType == 'PATH_INFO' ]; then
|
|
execcompile="$phpcli $basePath/ztcli '$pmsRoot/ci-exec'";
|
|
else
|
|
execcompile="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=ci&f=exec'";
|
|
fi
|
|
echo $execcompile > $basePath/execcompile.sh
|
|
echo "execcompile.sh ok"
|
|
|
|
# delete log.
|
|
if [ $requestType == 'PATH_INFO' ]; then
|
|
deletelog="$phpcli $basePath/ztcli '$pmsRoot/admin-deleteLog'";
|
|
else
|
|
deletelog="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=admin&f=deleteLog'";
|
|
fi
|
|
echo $deletelog > $basePath/deletelog.sh
|
|
echo "deletelog.sh ok"
|
|
|
|
# encrypt.
|
|
if [ -f "$basePath/php/encrypt.php" ]; then
|
|
encrypt="$phpcli $basePath/php/encrypt.php \$*"
|
|
echo $encrypt > $basePath/encrypt.sh
|
|
echo "encrypt.sh ok"
|
|
fi
|
|
|
|
# cron
|
|
if [ ! -d "$basePath/cron" ]; then
|
|
mkdir $basePath/cron
|
|
fi
|
|
echo "# system cron." > $basePath/cron/sys.cron
|
|
echo "#min hour day month week command." >> $basePath/cron/sys.cron
|
|
echo "0 1 * * * $basePath/dailyreminder.sh # dailyreminder." >> $basePath/cron/sys.cron
|
|
echo "1 1 * * * $basePath/backup.sh # backup database and file." >> $basePath/cron/sys.cron
|
|
echo "1 23 * * * $basePath/computeburn.sh # compute burndown chart." >> $basePath/cron/sys.cron
|
|
echo "1-59/5 * * * * $basePath/syncsvn.sh # sync subversion." >> $basePath/cron/sys.cron
|
|
echo "1-59/5 * * * * $basePath/syncgit.sh # sync git." >> $basePath/cron/sys.cron
|
|
echo "1-59/5 * * * * $basePath/sendmail.sh # async send mail." >> $basePath/cron/sys.cron
|
|
echo "1-59/5 * * * * $basePath/sendwebhook.sh # async send webhook." >> $basePath/cron/sys.cron
|
|
echo "1 1 * * * $basePath/createcycle.sh # create cycle todo." >> $basePath/cron/sys.cron
|
|
echo "30 1 * * * $basePath/deletelog.sh # delete log." >> $basePath/cron/sys.cron
|
|
echo "1 0 * * * $basePath/initqueue.sh # init queue." >> $basePath/cron/sys.cron
|
|
echo "1-59/5 * * * * $basePath/checkbuildstatus.sh # check build status." >> $basePath/cron/sys.cron
|
|
echo "1-59/5 * * * * $basePath/execcompile.sh # execute compile." >> $basePath/cron/sys.cron
|
|
cron="$phpcli $basePath/php/crond.php"
|
|
echo $cron > $basePath/cron.sh
|
|
echo "cron.sh ok"
|
|
|
|
chmod 755 $basePath/*.sh
|
|
|
|
exit 0
|