通过浏览器从SVN更新代码到Linux服务器指定目录

今天花几分钟写的一个PHP小程序,用途是:无需给程序员开放服务器SSH帐号,只需通过Web浏览器即可从SVN版本库更新代码到Linux服务器的指定目录。如果有需要,可以给这段代码加个密码登录。

1、假设www、www是Apache或Nginx服务器的用户名和组,/data0/www/是网页文件存放根目录,执行以下shell命令:

sudo -s

/usr/sbin/groupadd www -g 48

/usr/sbin/useradd -u 48 -g www www

mkdir -p /data0/www/

chown -R www:www /data0/www/

su www

cd /data0/www/

/usr/local/bin/svn checkout --username zhangyan --password 123456 http://xxx.xxx.xxx.xxx:8080/svn/web/trunk/

2、创建文件svn_up.php:

header("Cache-Control:no-cache,must-revalidate");

$handle = popen('/usr/local/bin/svn up --username zhangyan --password 123456 /data0/www/*', 'r');

$read = stream_get_contents($handle);//需要 PHP5 或更高版本

echo "

";

printf($read);

echo "";

pclose($handle);

?>    svn up --username zhangyan --password 123456 /data0/www/*', 'r'); $read = stream_get_contents($handle);//需要 PHP5 或更高版本 echo "

"; printf($read); echo ""; pclose($handle); ?>

3、通过浏览器访问svn_up.php,显示以下内容(例):

U    /data0/www/app/DataTransferService.php

Updated to revision 561.

 [文章作者:张宴 本文版本:v1.0 最后修改:2008.10.06 转载请注明原文链接:http://blog.s135.com/read.php/371.htm]

相关推荐