为了方便PHP开发人员更新SVN代码到服务器,而无须每次让系统管理员通过svn帐户手动登录远程服务器更新代码,只需要作一个调用svn命令的php页,放到网站上,有一个网址可以访问,如 www.mywebsite.com/svn/svn.php
php代码:
<?php
header("Cache-Control:no-cache,must-revalidate");
echo "Begin SVN update >>>";
$handle1 = popen('sudo svn up /server/webroot/app/application/ --username=user --password=mypasswd', 'r');
$read1 = stream_get_contents($handle1);
echo "<pre>";
printf($read1);
echo "</pre>";
pclose($handle1);
exec('sudo chown -Rf www:www /server/webroot/app/application/ ');
exec('sudo chmod u+rwx /server/webroot/app/application/ -Rf
');
echo "End of SVN updates.";
?>
前提是首先在/server/webroot/app/application/出检出代码,如
svn checkout --username=user --password=mypasswd https://xxx.xxx.xxx.xxx/svn/project/code/
值得注意的是,一般php部署在apache httpd或者nginx下,通过url访问这个svn.php的执行权限是www,这样首先www用户没有权限使用svn命令,就需要添加一个sudo权限给www,然后在svn更新完代码后,修改文件夹的权限,如上面的:
exec('sudo chown -Rf www:www /server/webroot/app/application/ ');
通过如上设置,就达到了通过url自动更新代码到服务器端的效果。
分享到:
相关推荐
linux命令关闭开启SVN相关命令
svn在linux下的使用(svn命令)
本文主要是说明linux下svn命令的使用方法,同时记录自己在使用中遇到的一些疑惑。 1、Linux命令行下将文件checkout到本地目录 svn checkout url(url是服务器上的目录) 例如:svn checkout svn://192.168....
linux下svn命令大全 linux下svn命令大全 linux下svn命令大全 linux下svn命令大全
很好的学习linux的文档,是关于Linux操作svn的命令
svn 回退/更新/取消至某个版本命令详解
svn 操作linux下命令参数,实例解读
Linux离线安装svn, 含详细的配置文档和所需的所有相关依赖包,亲测可用。支持svn checkout https://这种格式的(ssl加密协议)
linux svn 操作 常用命令 add update delete等
linux下SVN的一些常用的命令,比如常用的导入导出命令
svn常用Linux操作命令 svn常用Linux操作命令 svn常用Linux操作命令
想知道如何在linux服务器上配置svn吗?那么这个文档绝对会满足你的条件。不过要在root用户下,输入命令,如果不是root用户,那么请:su root --> 输入密码-->进入。
svn命令在linux下的使用教程 2010-09-17 22:28:22 来源: 【大 中 小】 评论: 条 li 1、 将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn: // 192.168 . 1.1 / pro / ...
linux 下SVN常用命令 初进企业的菜鸟专用............................................
Linux安装SVN的全量包,下载之后依次解压安装,可以在Linux环境下搭建SVN客户端
linux下svn的配置及svn常用命令
Linux下SVN命令使用大全
但最近由于需求变更,每次发布新版本要更新几十个,一个个太麻烦,所以就想用一个批处理文件,即BAT文件自动更新SVN文件,附件是从网上找到的,找了好久才找到,不是本人原他创,共大家分分享。
详细的linux下安装svn命令行 安装Subversion服务器 debian:~# apt-get install subversion subversion-tools 创建一个新的储存库: debian:~# svnadmin create /data/svn 导入你的源码: debian:~# svn import /data...