一.安裝與基本指令
1.yum安裝svn (注意防火牆開發端口号,如果是 雲伺服器,需要添加安全組開發端口号)
svnserve --version (檢測是否安裝)
yum install -y subversion 直接安裝
yum remove subversion 解除安裝
2.建立svn資源倉庫
svnadmin create svn(倉庫名稱) 建立svn倉庫
3.有以下幾個配置檔案 conf db format hooks locks README.txt
在conf中 authz #權限配置檔案 在[groups]下面加入: [/]
- = rw #所有使用者有讀寫權限 dangerman = ##危險分子?什麼是危險分子?沒有任何權限 [svndir:/] ###定義目錄,項目的根目錄
passwd #使用者名密碼檔案 在[users]中加上 yunwei(名稱) = 123456(密碼) svnserve.conf #資源庫配置檔案 這個配置檔案打開下面幾行前面的注釋,删除最前面的空格: anon-access = none auth-access = write password-db = passwd authz-db = authz realm = My First Repository
4.啟動 檢視狀态 停止
svnserve -d -r /opt/svn (安裝位置) 啟動 ps -aux|grep svnserve (檢視狀态) 關閉 killall svnserve
5.克隆 更新 檢視 等
svn co(checkout) $url(svn://xx.xxx.xxx.xxx/test) 檔案夾名 #拉取項目 svn log -l 5 檢視 svn 檔案的最近5條記錄
6.SVN中 trunk(主分支) branchs(分支) tags(标記) 的差別
branch 和tag,對于svn都是使用 copy 實作的,是以他們在預設的權限上和一般的目錄沒有差別
truck(主分支):是用來做主方向開發的,新功能的開發應放在主線中,當子產品開發完成後,需要修改,就用branch。
branch(分支):分支開發和主線開發是可以同時進行的,也就是并行開發,分支通常用于修複bug時使用
tag(标記):用于标記某個可用的版本,可以标記已經上線釋出的版本,也可以标記正在測試的版本,通常是隻讀的
7.友情連結
菜鳥教程
二.自動部署項目
1.第一種情況:部署的項目和svn在同一伺服器時
在 svn 目錄的 /hooks 裡面有一堆tmpl,這些tmpl可以做很多事情 自動部署post-commit.tmpl tmpl檔案是模版檔案
①. 要用post-commit需要手動複制一份
cp post-commit.tmpl post-commit
②.post-commit檔案内容如下
!/bin/sh #其中第一行意思是:用sh來解析這個腳本,因為各種shell的文法有細微的差别
export LANG=zh_CN.UTF-8 #第二行是編碼格式:這裡我使用的是UTF-8
/usr/bin/svn update --username **** --password **** /opt/www/test #最後一行/usr/bin/svn 是svn的路徑 後面是使用者名、密碼、和項目路徑
③.修改post-commit的可執行權限
chmod 755 post-commit
④.拉取項目
在伺服器進入項目目錄/opt/www/test checkout 整個項目;
svn checkout svn://{您的伺服器位址}:{端口号}/test . 注意目錄後面還有一個點