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到服務器都會自動更新內容了。
相關文章
相關標籤/搜索