Linux(CentOS)+SVN服务器,并实现本地提交后,服务器端自动更新
Linux(CentOS)+SVN服务器,并实现本地提交后,服务器端自动更新
- 自动安装Subversion
yum -y install subversion
- 查看安装路径等信息
rpm -ql subversion
- 查看svn帮助信息
svn help
- 创建svn版本库目录
mkdir -p /opt/svn/svnrepos
- 创建版本库
svnadmin create /opt/svn/svnrepos
- 进入/opt/svn/svnrepos目录下的conf
authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件
- 设置账号密码
vim passwd
在[users]块中添加用户名和密码:账号=密码,例如username=password
- 设置权限
vim authz
在末尾处添加如下代码:
[/]
username=rw
someone=r
表示在版本库的根目录下,username用户有读写权限,someone用户只有读的权限
- 修改svnserve.conf
取消下面的注释
anon-access = read #匿名用户可以读
auth-access = write #授权用户可以写
password-db = passwd #使用passwd作为账号文件
authz-db = authz #使用authz作为权限文件
realm = /opt/svn/svnrepos # 版本库所在的目录
- 启动svn版本库
svnserve -d -r /opt/svn/svnrepos
-d 指在后台运行,-r 指在根目录 /opt/svn/svnrepos
netstat -anp
查看svn默认端口号是3690
- 在window上测试
下载svn,checkout,填写svn地址:svn://your ip (注意此处是svn://,若使用http://需使用Apache服务器)
账号为上面设置的username,密码为上面设置的password (在passwd文件中的)
如果不能外网访问则可能需要Linux服务器上防火墙对3690端口的设置
到此svn服务器搭建完成。
- 在Linux上测试
将svn checkout到Linux上,直接在/opt/svnapp目录下执行:svn checkout svn://yourip /opt/svnapp
- 在window上开发的程序,通过svn commit,在Linux的/opt/svnapp下自动完成更新
1.在svn版本库目录/opt/svn/svnrepos下,打开hooks ,然后cp post-commit.tmpl post-commit创建post-commit文件
2.vim post-commit 写:
REPOS="$1"
REV="$2"
WEB=/opt/svnapp #需要同步更新的目录
mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
svn update $WEB --username username--password password--no-auth-cache
3.让post-commit有执行的权限:chmod 777 post-commit
4.配置完成,然后测试,查看。
更多推荐
所有评论(0)