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

1.安装svn  web

yum install subversionvim

 

2. 配置服务安全

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

这里能够自定义建立的目录,注意不是网站的文件目录。服务器

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

 

3. 进入conf修改配置文件svn

vim passwd 添加在末尾post

[ 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.打开端口
iptables -I INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT    #开放3690端口
>/etc/init.d/iptables save    #保存配置
service iptables save  #保存iptable规则
上面设置了开放3690端口,因此要在阿里云对应的实例安全组添加开放3690端口的规则,不然在本地checkout会失败!!
 
 
5.开启和关闭服务
svnserve -d -r  /data/wwwsvn #开启
killall svnserve  #关闭
ps  aux |  grep  svnserve  #查看是否运行
 
6.返回要部署的项目checkout。
cd /data/wwwroot/project 
svn checkout svn://服务器ip:端口/xxx      [xxxx为前文建立的版本库名称]
... #根据提示完成checkout
 
 
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
 

增长脚本执行权限测试

chmod  +x post-commit网站

killall svnserve

开启svn:

svnserve -d -r /data/wwwsvn 

 
 
 
8.检出本地
svn checkout  svn://服务器ip:端口/xxxxx     #xxx为你建立的版本库名称myrepo
 
 
9.把线上的项目拉到本地便可,此后每一次commit到服务器都会自动更新内容了。
相关文章
相关标签/搜索