SVN 安装和搭建,自动更新。

Posted paly76

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVN 安装和搭建,自动更新。相关的知识,希望对你有一定的参考价值。

1.安装svn  

yum install subversion

 

2. 配置服务

mkdir -p /data/wwwsvn/myrepo #创建svn仓库的目录

这里可以自定义创建的目录,注意不是网站的文件目录。

svnadmin create /data/wwwsvn/myrepo #与上面的目录相同。

 

3. 进入conf修改配置文件

vim passwd 添加在末尾

[users]
# harry = harryssecret
# sally = sallyssecret
youname = yourpassword #你的用户和密码
 
vim  authz  添加在末尾
[/]
yourname = rw
 
vim  svnserve.conf   关闭注释及修改变量
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /data/wwwsvn/myrepo # 认证空间名,版本库所在目录,和之前的一样
 
4.开启和关闭服务
svnserve -d -r /data/wwwsvn/myrepo  #开启
killall svnserve  #关闭
ps aux | grep svnserve  #查看是否运行
 
5.打开端口
iptables -I INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT    #开放3690端口
service iptables save  #保存iptable规则
上面设置了开放3690端口,所以要在阿里云对应的实例安全组添加开放3690端口的规则,否则在本地checkout会失败!!
 
 
6.检出本地
svn checkout  svn://服务器ip
 
 
7.自动部署:
cd /data/wwwsvn/myrepo/hooks #你的版本仓库目录
cp post-commit.tmpl post-commit
chmod -R 777  post-commit
vim  post-commit
把末尾的全注释掉,在末尾添加如下:
export LANG=zh_CN.UTF-8 #必须要这行
echo "hello world" >> /tmp/svn.log #用来测试钩子是否有执行,调试使用,如果正常就不需要这行了
/usr/bin/svn update /data/wwwroot/yourWebDir --username autoweb --password autoweb --no-auth-cache #也可以用其他方法,总之要保证web目录能正常update
 
8.返回要部署的项目checkout。
cd /data/wwwroot/project 
svn checkout svn://服务器ip
... #根据提示完成checkout
 
9.把线上的项目拉到本地即可,此后每一次commit到服务器都会自动更新内容了。
 
 
 
 
 

 

以上是关于SVN 安装和搭建,自动更新。的主要内容,如果未能解决你的问题,请参考以下文章

Linux下搭建SVN服务器及自动更新项目文件到web发布目录(wwwroot)的方法

SVN服务器搭建

linux下svn 搭建

Liunx服务器搭建SVN服务,并通过钩子实现代码自动部署

Liunx服务器搭建SVN服务,并通过钩子实现代码自动部署

如何用Jenkins实现自动化部署svn更新代码