LINUX環境下SVN安裝與配置(利用鉤子同步開發環境與測試環境)

安裝採用YUM一鍵安裝:vim

1.環境Centos 6.6服務器

2.安裝svn
yum -y install subversionsvn

3.配置post

創建版本庫目錄
mkdir /www/svndata測試

svnserve -d -r /www/svndata網站

4.創建版本庫編碼

建立一個新的Subversion項目
svnadmin create /www/svndata/project日誌

5.版本庫配置ip

進入對應的版本庫如nilrxx,裏面有一些自動給生成的文件。在conf目錄下就是咱們須要配置的三個文件:authz  passwd  svnserve.conf開發

現只記錄我得成功配置以下:

  5.1:打開svnserve.conf,打開下面這條語句的註釋就行

      password-db = passwd

  5.2:打開passwd文件,加入一個用戶並制定密碼便可

      ruanwenwu = 123456

6.開啓svn服務

  6.1: svnserve -r -T -d /www/svndata

     解釋:後面跟着的時倉庫目錄,並非項目目錄

  6.2:將這個命令加入到開機啓動:

     vi /etc/rc.local

    將6.1的命令加入到文件中便可

7.這時就能夠將項目目錄import到咱們的項目倉庫了

  7.1:進入咱們的項目目錄好比:/home/wwwroot/www.doubilaile.com

     cd /home/wwwroot/www.doubilaile.com

  7.2: svn import ./ svn://192.168.1.233/project

     運行這條命令可能出現$svnEditor環境變量的問題,只須要運行這條命令就好了:export SVN_EDITOR=vim

    命令執行成功會彈出一個日誌文件編寫輸入的狀況,隨便寫兩句保存便可。到這裏項目就被導了進來。

8.到這裏就能夠打開window的svn客戶端checkout項目了,路徑是svn://192.168.1.233/project

 若是碰到目標計算機積極拒絕的狀況,請檢查LINUX是否開啓了防火牆,若是開啓了就關閉。

 查看防火牆狀態:sevice iptables status;

   關閉防火牆:service iptables stop;

 永久關閉: chkconfig iptables off;

咱們常常須要提交代碼後同時在LINUX環境下進行測試。怎麼辦呢?能夠利用svn的hook來解決。

 

利用SVN的鉤子同步更新代碼的方法詳解

先普及一下小常識
SVN的鉤子,即hook(在每一個版本庫下有hooks文件夾,裏面有不少鉤子程序,個人目錄是/home/svn/fitness/hooks/)。在subversion執行一個操做時,就會相應的首先去調用相關的鉤子程序。
 
 
咱們在開發時都會創建測試環境,不須要每一個人都Update到本地再測試。
基於SVN的這種特性,要想實現一個同步的測試服務器,咱們只須要在用戶執行完畢commit操做後,讓鉤子程序自動更新測試服務器的文件便可。
 
 
 
有了這樣的思路,咱們就開始創建post-commit的鉤子吧
 
一、在網站的目錄下,使用checkout命令創建一個副本 #svn co SVN_URL /var/www/mySite/
  例如:svn co svn://192.168.1.233/project /var/www/www.doubilaile.com/
  這句話的意思其實就是將倉庫中得代碼checkout到/var/www/www.doubilaile.com/這個目錄下。
 
二、如今設置鉤子,複製倉庫project中的/hooks/post-commit.temp文件爲post-commit,並修改文件的權限#chmod 755 post-commit
 
三、編輯post-commit,把如下代碼寫入

#!/bin/sh

export LANG=zh_CN.GBK

svn update --username ruanwenwu --password 207099 /home/www/www.doubilaile.com

 
第一條命令是window本地字符編碼,第二條是同步 
大功告成,可使用了。關於這個post-commit文件,能夠徹底採用上面的語句,不用管默認的。親測能夠經過。至此,一個完整的SVN同步,並在測試環境下同步的工做便完成了。 
相關文章
相關標籤/搜索