1、安裝 SVN
1.1先檢查是否有安裝 svn
rpm -qa subversion #沒有什么顯示就說明沒有安裝過
yum remove subversion #如果有安裝就運行刪除老版本
yum install subversion #運行安裝SVN
1.2創建SVN版本庫(這里我們直接部署到Tomcat/webapps下,如果沒有可以自行部署一個Tomcat)
mkdir -p /usr/local/tomcat/webapps/svn
1.3創建版本庫
svnadmin create /usr/local/tomcat/webapps/svn/svnTest
完成此處之后會在該目錄下生成以下目錄文件
1.4在版本庫的 conf目錄下配置文件
authz文件是權限控制文件
passwd是帳號密碼文件
svnserve.conf SVN服務配置文件
1.5設置配置passwd 如:用戶名=密碼
[users]
test = test123
1.6配置authz文件,設置用戶權限 rw是擁有讀寫權限(注:一定要頂格寫):
[groups] # harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally,&joe test = test
[/]
test = rw
[/adminfile]
@test= rw
1.7配置svnserve.conf ,打開以下注釋就好了
anon-access = read #匿名用戶可讀 auth-access = write #授權用戶可寫 password-db = passwd #使用哪個文件作為賬號文件 authz-db = authz #使用哪個文件作為權限文件 realm =/usr/local/tomcat/webapps/svn/svntest #認證空間名,版本庫所在目錄
1.8啟動SVN
svnserve -d -r /usr/local/tomcat/webapps/svn/
檢查svn是否啟動成功,查看進程
ps -ef |grep svnserve
檢查防火牆
#添加(--permanent永久生效,沒有此參數重啟后失效) firewall-cmd --zone=public --add-port=3690/tcp --permanent #重新載入(svn默認3690端口) firewall-cmd --reload #查看 firewall-cmd --zone= public --query-port=3690/tcp
#或者之間關閉防火牆
systemctl stop firewalld.service
最好在檢出
svn co svn://ip/svnTest
回車之后會出現:
“root”密碼:這里沒有設置直接回車繼續到 用戶名:test “test”的密碼:test123 保存未加密的密碼(yes/no):yes 最后提示: 取出版本:0
用戶端鏈接:
svn://ip/svnTest
二、實現用戶上傳SVN服務自動更新(Web項目直接刷新頁面更新)
在版本庫中找到hooks文件,復制文件 post-commit.tmpl 並改名位 post-commit
cd /usr/local/toncat/webapps/svn/svnTset/hooks
cp post-commit.tmpl post-commit
將以下內容寫進 post-commit 文件中
#!/bin/sh export LANG="zh_CN.UTF-8" REPOS="$1" REV="$2" SVN_PATH=/usr/bin/svn WEB_PATH=/usr/local/tomcat/webapps/svnTest/ $SVN_PATH update $WEB_PATH --username test--password test123--no-auth-cache
保存之后給 post-commit 執行權限
chmod -x post-commit
到這來就已經實現了自動更新,就到網頁通過tomcat訪問到版本庫中最新的項目了