一、SVN配置多倉庫與權限控制
二、SVN服務配置與管理
三、模拟真實開發環境
四、SVN擴充程式
一、SVN配置多倉庫與權限控制
1、配置多倉庫(多項目)
在實際項目開發中,我們可能會同時開發多個項目,那麼我們如何進行多項目監管呢?
通過svnserve進行倉庫監管,但是監管指令隻能監管某一個檔案夾,而不能同時監管多個倉庫。
答:可以通過監管WebApp總目錄來達到監管所有倉庫的目的。
svnserve -d(背景運作) -r(監管目錄) WebApp(項目總目錄)
①打開DOS視窗,輸入如下指令:
svn://localhost或ip位址來通路D:/svn/WebApp目錄
如果需要通路Shop項目、Wechat項目
Shop項目: svn://localhost/Shop
Wechat項目:svn://localhos/Wechat
2、權限控制
如果要使用權限控制 有一個前提:必須首先開啟權限功能
在每一個倉庫中都有一個conf檔案夾,裡面有三個檔案
authz檔案(授權檔案):告訴哪些使用者具有哪些權限
passwd檔案(認證檔案):辨別目前SVN系統中某個倉庫具有哪些使用者以及相應的密碼。
預設情況下,以上兩個檔案都是禁用的,如需要使用,首先要開啟以上兩個檔案。
開啟: 進入svnserve.conf配置檔案
開啟步驟如下:
1)注釋匿名使用者的可讀可寫權限
2)開啟認證檔案與授權檔案
3)編寫認證檔案,定義相關使用者名與密碼
進入 passwd檔案, 加入 下面這兩行代碼
’ = ’ 左邊是使用者名; ’ = ’ 右邊是密碼。
4)編寫授權檔案
打開authz檔案
同樣,還是在這個authz檔案下最後一行:
這樣子,系統的授權就配置成功了
5)測試
就跟之前建立一個檔案夾如jingli一樣, 比如我們建立個wangwu檔案夾(這個檔案夾預設為匿名使用者),在該目錄下 ‘檢出’ (如選擇Shop項目)後,就将服務端的資料傳到該目錄下, 那我們這時候進行對檔案的修改等操作,然後上傳,這時候就會彈出一個視窗,需要使用者名和密碼。
那我們之前在passwd檔案已經設定了使用者名 admin 和密碼 admin888 即可用于登入
二、SVN服務配置與管理
1、配置自啟動服務
sc create SVNService binpath= “D:\subversion\bin\svnserve.exe --service -r D:/svnroot” start= auto
sc create 服務名稱 binpath=空格"svnserve.exe路徑 --service -r D:/svn/WebApp" start=空格 auto
【這個svnserve.exe 目錄一般在 安裝服務端軟體時的路徑,在bin目錄下】
①打開運作,輸入cmd指令,打開DOS環境(請使用超級管理者運作)
②輸入以下指令
③檢視系統服務
在控制面版裡面有個 “服務” 。 輕按兩下運作
Win10的話,直接搜尋 “服務”,即可彈出。
如果運作啟動成功後,代表開啟SVN監管服務。 那我們系統即使不用在DOS視窗開啟 “監管” 指令,同樣也可以使用SVN功能了(即随着windows電腦的開關機而開關)
2、建立批處理檔案(.bat 類型)
啟動服務 net start 服務名稱
停止服務 net stop 服務名稱
删除服務 sc delete 服務名稱
以上功能在實際項目開發中經常使用,是以可以封裝為.bat批處理檔案。
在桌面上建立以下三個檔案:
stop.bat ——》編輯内容為 net stop SVNService
start.bat ——》編輯内容為 net start SVNService
delete.bat ——》編輯内容為 sc delete SVNService
輕按兩下start.bat檔案,即可實作 重新開機(删除、停止)服務
三、模拟真實開發環境
1、SVN工作流程
2、鈎子程式
所謂鈎子就是與一些版本庫事件觸發的程式,例如新修訂版本的建立,或是未版本化屬性的修改。
預設情況下,鈎子的子目錄(版本倉庫/hooks/)中包含各種版本庫鈎子模闆
post-commit.tmpl :事務完成後所觸發的鈎子程式
鈎子程式預設情況下可以采用批處理指令或Shell指令來進行編寫。
3、通過批處理指令編寫鈎子程式
①指定svn服務端工作目錄
設定伺服器端SVN路徑
SET SVN=“D:\svn\bin\svn.exe”
②指定Web伺服器工作目錄
設定伺服器端項目運作目錄
SET DIR=“D:\server\apache\htdocs\Shop”
③通過update指令實時更新資料到DIR目錄中
SVN update %DIR%
操作流程:
1)
2)打開該批處理檔案.bat (把裡面内容都清空掉),填入相關批處理指令
3)在apache\htdocs目錄建立Shop項目,并更新SVN服務端資料本地
4)更新檔案到SVN伺服器端,可以在Shop目錄實時擷取到最新資料。
5)可以通過虛拟主機形式直接通路更新檔案
4)5) 測試:同樣建立個lisi檔案夾,按上面操作把服務端資料下載下傳到本地lisi檔案夾中
然後在lisi檔案夾中修改資料後(比如建立個test.php檔案,内容為 echo ‘hook’),送出到服務端。
這樣子,你再去看剛才建立的Shop項目檔案夾,裡面就實時更新了剛才lisi上傳到服務端的test.php檔案。
在網頁中,輸入下面網址(即可看到效果,這就是真實環境的模拟過程)
四、SVN擴充程式
1、什麼是BAD雲引擎
百度應用引擎(BAE)是百度推出的網絡應用開發平台。基于BAE架構,使開發者不需要維護任何伺服器,隻需要簡單的上傳應用程式,就可以為使用者提供服務。
開發者可以基于BAE平台進行PHP、Java、Python、Nodejs應用的開發、編譯、釋出、調試。
2、如何使用BAE雲引擎
BAE位址:http://bce.baidu.com/
點選後 , 彈出界面(點選右上角的 " 管理控制台 ")
進入部署清單(BAE管理平台)
建立成功如下圖所示:
單機 “管理控制台”
2)SVN管理
确定後, 這時候需要确認 “認證” (即百度賬号的使用者名和密碼)
對這個index.php的修改及送出
3)送出服務(Commit)
當我們的BAE伺服器有資料的更新時,系統會自動彈出以下提示:
單擊快捷釋出, 這樣子我們就可以在網頁上看到我們修改代碼的效果了。