centos搭建svn實錄

1首先,安裝:
 . 執行命令:yum install subversion
(ubuntu安裝命令:sudo apt-get install subversion)
2安裝完成後,檢測是否安裝成功,以及版本號:
.執行命令:svn --version
我的個人會出現如下提示,表明安裝成功,版本是1.6.11:

3.現在開始搭建svn倉庫:
執行下面兩個命令:
  (1)mkdir  -p  /opt/svn/repos
   (2)  svnadmin  create  /opt/svn/repos
執行成功後,在 /opt/svn/repos文件夾下即可看到repos下有生成了多個文件,如下圖

4,打開/opt/svn/repos/conf目錄下的passwd文件

5.4,打開/opt/svn/repos/conf目錄下的authz文件(authz文件是對用戶權限的控制,passwd是設置用戶名和密碼,svnserve.conf是針對svn的配置)


6.最後設定svnserve.conf配置
anon-access = none # 使非授權用戶無法訪問
auth-access = write # 使授權用戶有寫權限
password-db = password
authz-db = authz   # 訪問控制文件 
realm = /opt/svn/repos # 認證命名空間,subversion會在認證提示裏顯示,並且作爲憑證緩存的關鍵字。
採用默認配置. 以上語句都必須頂格寫, 左側不能留空格, 否則會出錯.

7.文件配置到此基本上就OK了,現在開始啓動我們的svn服務器:
    執行命令:svnserve -d -r /opt/svn/repos
查看服務是否起來:
  執行命令:netstat -tunlp | grep svn

注意:修改完配置文件後記得重新啓動svn服務器,可先停止svn服務,然後再啓動
(1)killall svnserve
(2)svnserve -d -r /opt/svn/repos


二:部署項目到SVN上,實現本地更新同步到服務器項目:配置項目倉庫的鉤子配置
可以把鉤子看成是WEB項目於SVN項目倉庫之間的一個關聯,通過向SVN項目倉庫提交腳本代碼,利用鉤子shell腳本可以自動向web項目中將腳本文件更新過去

開始之前,首先我已經在win客戶端的tortoiseSVN先建立好項目文件目錄www了,如下圖



1.進入SVN項目倉庫鉤子所在的目錄,shell命令:cd /opt/svn/repos/hooks/,
然後複製備份post-commit文件:cp post-commit.tmpl post-commit


OK,假設我的項目文件我是假設放在/home (建議放在nginx的web目錄下)
爲了能夠讓SVN倉庫同步將項目更新過來,那麼首先需要從倉庫checkout出項目到home目錄下面,
分別執行shell命令:
   cd /home
   svn co svn://localhost/www --username junlin--password junlin
此時在home目錄下你將會看到你checkout出來的項目了,接下來要開始寫觸發腳本,實現在win本地上傳更新你的項目文件的同時,同步更新倉庫內的文件。
在/opt/svn/repos/hooks目錄下打開post-commit文件,屏蔽裏面所有的代碼,在文件最後寫入:
cd /home
 /usr/bin/svn cleanup
/usr/bin/svn up /home/www  --username "junlin" --password "junlin"
如圖:


OK,最後保存退出,然後在你的window本地的tortoiseSVN客戶端上傳一個文件到www目錄下,即可發現服務器的/home/www目錄也會出現該文件。
若出現:post-commit錯誤代碼255,應該是腳本權限不對,賦予777權限即可
除了/home/www目錄要賦予777權限之外還有/opt/svn/repos目錄下的hooks目錄也要賦予777權限


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章