svn+post-commit实现自动部署(转)
生活随笔
收集整理的這篇文章主要介紹了
svn+post-commit实现自动部署(转)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、安裝 #yum install subversion 檢查是否安裝了svn #subversion –v 創(chuàng)建svn庫和對應的目錄 #mkdir /svn/www.test.com #svnadmin create /svn/www.test.com 二、配置 創(chuàng)建登錄svn的用戶和密碼 #vim /svn/www.test.com/conf/passwd [users] 用戶名=密碼 設置svn用戶權限 #vim /svn/www.test.com/conf/authz [/] 用戶名=rw 設置svn主配置文件 #vim /svn/www.test.com/conf/ anon-access=none #使非授權用戶無法訪問 auth-access=write #使授權用戶有寫權限 password-db=password authz-db=authz #啟用訪問控制文件 realm=/svn/www.test.com #認證命名空間,subversion會在認證提示里顯示,并且作為憑證緩存的關鍵字。 啟用svn:#svnserve –d –r /svn/www.test.com 注可以用—listen-port 參數(shù)修改svn的端口 三、連接svn 1、linux主機連接svn #svn co svn://192.168.1.180 輸入用戶名和密碼后就可以將svn上的數(shù)據下載到本地。 2、windows主機連接svn 利用TortoiseSVN工具進行連接。 四、利用svn的post-commit將svn服務器的文件同步更新到固定的目錄 #cd /svn/www.test.com/hooks #cp post-commit.tmpl post-commit #chmod a+x post-commit 編輯post-commit鉤子腳本 #vim post-commit export LANG=zh_CN.UTF-8 #設定環(huán)境變量,如果沒有設定可能會出現(xiàn)update報錯 SVN=/usr/bin/svn WEB=/usr/local/apache/htdocs/192.168.1.180 ${SVN} update ${WEB} --username rsync --password rsync 注:WEB中指定的目錄不能為空目錄,需要先checkout 報錯注解,及解決辦法: 1、 svn: Error converting entry in directory '/usr/local/apache/htdocs/192.168.1.180' to UTF-8 svn: Can't convert string from native encoding to 'UTF-8': svn: ?\229?\164?\141?\228?\187?\182 ?\229?\164?\141?\228?\187?\182 ?\229?\164?\141?\228?\187?\182 ?\229?\164?\141?\228?\187?\182 rsync-3.0.9.tar.gz 原因:svn服務器上的文件存在編碼為UTF-8的文件,如果服務器不支持UTF-8編碼就會報這個錯誤。 解決辦法:在post-commit鉤子腳本中,添加export LANG=zh_CN.UTF-8字段,更改環(huán)境變量中的編碼。 2、 Skipped '/usr/local/apache/htdocs/192.168.1.180' 這個時候使用命令svn update命令會提示 Skipped ‘.’ 原因:192.168.1.180是一個空目錄或這個目錄不存在 解決辦法:先進行手工的checkout,之后再post-commit中將目錄指定到checkout的目錄,就解決了。 轉自:http://blog.51cto.com/songknight/742725
轉載于:https://www.cnblogs.com/kilometerwine/p/9871299.html
總結
以上是生活随笔為你收集整理的svn+post-commit实现自动部署(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求极大子矩阵的两种方法
- 下一篇: 10.29随笔