如果没有服务器权限,比如前端开发人员,可以用PHP做一个从svn上线的http接口。
function svnupAction() { $encoding = 'export LC_ALL=en_US.UTF-8;export LANG=en_US.UTF-8;export LANGUAGE=en_US.UTF-8;'; $out = '<pre>'; $dir = Application::app()->getAppDirectory() . '/../data/svn/default'; $path = Application::app()->getAppDirectory() . '/../public'; $p = $this->getRequest()->getQuery('path', ''); if (! empty($p)) { $path .= '/' . $p; } $out .= shell_exec( $encoding . '/usr/bin/svn up --config-dir=' . $dir . ' ' . $path . ' 2>&1'); $out .= '</pre>'; echo $out; return false; }
需要提前在对应目录生成记住密码的svn配置
sudo -u apache export LC_ALL=en_US.UTF-8;export LANG=en_US.UTF-8;export LANGUAGE=en_US.UTF-8;/usr/bin/svn up --config-dir=/srv/www/xxx/app/../data/svn/default /srv/www/xxx/app/../public 2>&1