如何利用svn自动同步更新到网站服务器?
一、安装 SVN服务器程序
11运行 VisualSVN-Server-172msi
12选择程序安装目录 和 SVN仓库目录
我程序装在 C:\Program Files\VisualSVN Server , SVN仓库目录在 D:\SVN
13 安装完成,立即运行
二、服务器配置
21服务器维护界面
22仓库目录默认的内容
23创建新项目wapzucom
23创建用户ve
24设置项目的用户权限
Properties Security Add 选择刚创建的用户 ve ok 应用 确认
三、创建测试服务器目录 D:\WWWROOT ,本地开发目录 D:\WORKDIR
四、将代码(D:\Code )导入到项目仓库
输入用户名 密码 并 勾选 保存认证
导入成功,并返回版本号1
五、导出项目代码到工作副本、测试服务器目录
同理,另外导出一份到测试服务器目录D:\WWWROOT (测试服务器的Apache目录指向该位置)
六、使用Hooks自动更新测试服务器代码D:\WWWROOT
61 进入 D:\SVN\wapzucom\hooks 建立 post-commitbat 文件
编辑其内容 为"C:\Program Files\VisualSVN Server\bin\svnexe" update "D:\www\test" --quiet --username name --password pwd
或者可参考下面这段话:
接下来最关键的一步是,我们需要找到服务器上安装的版本库的路径下面,以版本库名称命名的文件夹下,有一个名字为hooks的文件夹,在这个文件夹下建立post-commitbat这样一个批处理文件,里面的内容如下:
@echo off
“D:\VisualSVN Server\bin\svnexe” update “D:\Apache Software Foundation\Apache22\htdocs\soupei360″ _username XXXXX _password XXXXX
update前面的路径,是SVN服务器端程序的执行文件路径, 后面的是在服务器上同步到的目录的路径,username和password后面是刚才建立用户的用户名和密码,这段批处理的意思是,当我们在本地编写代码,然后通过svn的commit提交时候,首先提交到版本库中,然后版本库自动用这个批处理,把内容同步到服务器上之前指定的文件夹中,从而实现本地和远程同步操作。
两款SVN配置软件的具体配置教程可以通过搜索引擎得到具体设置方法,在此需要特意强调的是,一定要将本地和服务器上的目录都check out后,批处理才能够自动同步,服务器上的目标文件夹没有check out的话,即使设置的路径正确,也是不能同步的。
62 设置访问权限
我的电脑 右键 管理 服务和应用程序 服务 VisualSVN Server 右键 属性 登陆 添加访问权限 用系统管理员账号(我这里是user)
重启服务器
63测试Hooks工作是否正常
修改 indexphp 状态
提交修改
最后打开D:\WWWROOT\indexphp 可以发现代码已经被成功update
PS : 目录说明
C:\Program Files\VisualSVN Server 服务器安装目录
D:\SVN 仓库更目录
D:\WORKDIR 本地开发用的工作目录
D:\WWWROOT 服务器测试目录(Apache 指向该目录,即可实现工作目录内容修改后提交到SVN自动发布到测试目录)
从你的截图来看,用的是http协议,也就是说SVN服务器端已经和Apache集成了,那么你只要修改一下服务器端的权限控制文件就可以了,可以这么写权限文件:
[/]
=
user = r
user2 = r
[svnregister:/]
=
user = r
user2 = r
[svnregister:/trunk/test]
user2 =
[svnregister:/trunk/test2]
user =
如果你的SVN服务器的httpdconf中对于SVN版本库存放地址的指向,用的是SVNParentPath而不是SVNPath,那么就直接用上面的写法就行了,如果用的是SVNPath,那么上面的写法还得改改。至于权限文件是哪个文件,你要看httpdconf中AuthzSVNAccessFile指向哪个文件。
你可以看看我的百度文库,有篇项目级SVN服务器的搭建指南,其中对权限管理的配置有详细描述。
原因应该是你架设SVN服务器的时候没有安装或正确配置apache吧\x0d\ \x0d\看你用的是什么SVN服务器端安装包了,有的安装包自带了Apache,但原版的安装包是不带Apache的,需要你自己安装apache,并将apache和svn集成到一起,否则就像你这样,只能用svn协议,不能用http协议。\x0d\ \x0d\新手的话,建议用Collabnet svn edge版SVN服务器安装包,内置了apache,安装非常简单,而且免费
svn不同服务器上的库用同一账号可以访问。架设SVN服务器的时候和apache集成,在httpdconf中SVN那段location里,指定SVN父版本库,这样就可以用apache来统一管理用户,每个用户ID可以按权限访问多个版本库。
你好,centos下安装 svn 195 按照步骤一步一步装就OK 。以下是我的步骤。分享给你
安装19
准备工作:
1、安装编译工具包
yum install apr autoconf automake bison bzip2 cloog-ppl compat cpp curl curl-devel fontconfig fontconfig-devel freetype freetype freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libjpeg libsepol-devel libselinux-devel libstdc++-devel libtool libtool libgomp libxml2 libxml2-devel libXpm libtiff libtiff libX make mpfr ncurses ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils ppl telnet t1lib t1lib nasm nasm wget zlib-devel zlib unzip perl-ExtUtils-Embed
2、yum remove apr apr-util subversion subversion-libs #删除系统中原有的svn及依赖包
3、下载软件包
https://distapacheorg/repos/dist/release/apr/apr-152targz
https://distapacheorg/repos/dist/release/apr/apr-util-154targz
http://prdownloadssourceforgenet/scons/scons-235targz
http://wwwopensslorg/source/openssl-101otargz
https://wwwapacheorg/dist/serf/serf-139tarbz2
http://wwwapacheorg/dist/subversion/subversion-1813targz
http://wwwsqliteorg/2017/sqlite-amalgamation-3160200zip
1、安装apr
cd /usr/local/src #进入软件包存放目录
tar zxvf apr-152targz #解压
cd apr-152 #进入安装目录
/configure --prefix=/usr/local/apr #配置
make #编译
make install #安装
2、安装apr-util
cd /usr/local/src
tar zxvf apr-util-154targz
cd apr-util-154
/configure --with-apr=/usr/local/apr/bin/apr-1-config
make && make install
3、安装scons
cd /usr/local/src
tar zxvf scons-235targz
cd scons-235
python setuppy install #配置安装
4、安装openssl
cd /usr/local/src
tar zxvf openssl-101otargz
cd openssl-101o
CFLAGS=-fPIC /config --prefix=/usr/local/openssl enable-shared
make && make install
vi /etc/profile #添加系统环境变量
export PATH=$PATH:/usr/local/openssl/bin >> /etc/profile
#export PATH=$PATH:/usr/local/openssl/bin >> /etc/profile
:wq! #保存退出
source /etc/profile #使配置生效
ln -s /usr/local/openssl/include/openssl /usr/include/openssl #添加系统软连接
5、安装serf
cd /usr/local/src
tar -xf serf-139tarbz2
cd serf-139
scons PREFIX=/usr/local/serf APR=/usr/local/apr/bin/apr-1-config APU=/usr/local/apr/bin/apu-1-config OPENSSL=/usr/local/openssl
scons install
cd /usr/local/serf/lib
cp libserf-1so /usr/local/lib/ #拷贝文件到系统目录
6、安装svn
cd /usr/local/src
tar zxvf subversion-195targz
cd subversion-195
mkdir /usr/local/src/subversion-195/sqlite-amalgamation #创建sqlite-amalgamation目录
cd /usr/local/src
unzip sqlite-amalgamation-3160200zip -d /usr/local/src/subversion-195/sqlite-amalgamation
mv /usr/local/src/subversion-195/sqlite-amalgamation/sqlite-amalgamation-3160200/ /usr/local/src/subversion-195/sqlite-amalgamation
#解压sqlite-amalgamation软件包到sqlite-amalgamation目录
cd /usr/local/src/subversion-195
/configure --prefix=/usr/local/svn --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-serf=/usr/local/serf --with-openssl=/usr/local/openssl --enable-mod-activation #配置
make #编译
make install #安装
vi /etc/profile #添加系统环境变量,添加到最后一行
export PATH=$PATH:/usr/local/svn/bin
:wq! #保存退出
source /etc/profile #使配置立刻生效
whereis libexpatso1 #查找文件安装目录,如下:
libexpatso: /lib/libexpatso0 /usr/local/lib/libexpatso /usr/local/lib/libexpatso1
vi /etc/ldsoconf #编辑加入libexpatso1的目录
/usr/local/lib/
:wq! #保存退出
ldconfig #使配置生效
0条评论