如何在 Windows Server 安裝 SVN Server 版本控管軟體

如何在 Windows Server 安裝 SVN Server 版本控管軟體

Subversion (SVN) 是版本控制軟體,是軟體開發必用的原始碼版本管理工具,對一般人來說也可以當作檔案的備份伺服器,是支援中文化的免費軟體。

像我以前在團隊開發專案的時候,所有人都一定要裝 SVN 工具,它可以讓所有人下載相同的程式碼,當其中一個人完成新的程式碼後,就可以上傳到伺服器,而其它人就可以再同步下載最新的程式碼。

如果不小心有人程式碼寫錯了,造成系統發生錯誤,我還可以利用 SVN 工具去找回之前正常運作的程式碼,將系統還原到正常狀態,可想而知 SVN 對我來說,是非常重要的軟體。

而 SVN 要安裝的軟體有分服務端與客戶端,服務端是安裝在伺服器上的軟體,我推薦使用 VisualSVN,客戶端是安裝在所有人電腦上的軟體,負責原始碼的上傳與下載,可使用 TortoiseSVN

以下要示範的環境是 Windows Server 2019,教學的順序是下載、安裝、建立檔案庫、新增使用者、防火牆開放。
最後再加碼介紹 SVN 客戶端的上傳與下載功能。

下載及安裝 SVN Server

軟體名稱: VisualSVN Server
官網下載連結: https://www.visualsvn.com/server/download/
軟體版本: 32 位元 / 64 位元
軟體性質: 開源免費軟體

開啟官網下載連結後,可選擇 32 或 64 位元下載,現在的新電腦幾乎都是 64 位元了。

SVN Server

下載後直接執行安裝。
這裡直接按「下一步」。

SVN Server

授權使用打勾按下一步。

SVN Server


安裝伺服器及管理介面工具

預設選項安裝伺服器及管理介面工具。

連接埠及檔案庫

可更換檔案庫位置,此為重要的目錄,可放至檔案伺服器或 NAS。
伺服器連接埠建議可改用 8443,如果此主機同時運行網頁伺服器的話,可以把 443 Port 讓給 HTTPS 網頁使用。

SVN Server

登入驗證方式

登入驗證模式預設採自行管理帳密模式,在管理介面可新增使用者。
另一個模式是搭配 Windows AD 同步帳號使用。

SVN Server

確認安裝。

完成安裝並開啟管理介面。

SVN Server

新增檔案庫

新增檔案庫適用在新專案成立的時候,就為新專案建立一個檔案庫,將來同專案的文件就可以放在一起。
而新專案通常有不同的使用者,可以針對檔案庫建立不同的使用者。

在 「Repositories」按右鍵選「Create New Repository」。

SVN Server

檔案庫類型

檔案庫類型有分 FSFS 和 VDFS。
FSFS: 常規儲存庫(預設)。功能齊全,是標準的使用模式。
VDFS: 分散式儲存庫。可實現跨不同伺服器的透明數據複製,單一節點也是基於 FSFS 建立。

直接選擇預設的 FSFS 模式即可。

SVN Server

檔案庫名稱

輸入檔案庫名稱。我的習慣是輸入專案的名稱。

SVN Server

初始檔案庫結構

這裡是設定初始的內容是空目錄,還是預設建立主幹、分枝及標籤的資料夾目錄。
如果選建立目錄,它其實只是新增資料夾名稱而已,我覺得目的在教育一個正確使用版控目錄的觀念。
而我都選擇空目錄,當需要分枝時,我就會另行建立目錄。

SVN Server

使用者存取授權

這裡是設定使用者可讀寫此檔案庫的名單,分為以下 3 種:
1. 沒有人可存取。
2. 所有使用者均可讀與寫。
3. 自定授權。

這邊的設定可以事後再增加使用者設定也行。

SVN Server

確認畫面。

SVN Server


新增使用者

新增使用者就是為每一個人建立帳號密碼的地方,同時設定可讀寫那些檔案庫。

在「User」按右鍵選「Create User」。

SVN Server

輸入帳號、密碼、密碼確認。

設定使用者存取權限

剛剛新增了使用者,如果要針對檔案庫增加使用者存取權限的話。
對「Repositories」下方的檔案庫按右鍵選「Properties」。

SVN Server

加入使用者存取

點選「Add」就可以加入剛剛新增的使用者。

移除所有人可讀取權限

如果要自定使用者權限,就要記得把原本的所有人可存取的權限移除喔。
選擇「Everyone」再按「Remove」就可以了。

SVN Server




開啟防火牆

在剛剛安裝時,選擇 8443 為連接埠,如果此伺服器要讓外部電腦連接 SVN 的話,就要開啟 8443 的防火牆。

開啟防火牆設定

開啟「Windows Defender 防火牆」。

防火牆

開啟「進階設定」。

開啟「輸入規則」的「新增規則」功能。

防火牆

選擇連接埠

防火牆

允許連接埠 8443

在「特定本機連接埠」輸入”8443”。(依之前安裝時而定)

防火牆

允許連線

允許 8443 Port 可對外開放。

防火牆

開放網域依個人環境而定,如果只有一種環境,例如只有內網環境,那都勾選沒什麼差別。
如果要區分內網可用,外網不行,那就需依網域而決定只勾選那種開放連線。

防火牆

防火牆名稱

輸入一個有意義的防火牆名稱,以方便日後識別。

防火牆


SVN 客戶端下載與安裝

軟體名稱: TortoiseSVN
官網下載連結: https://tortoisesvn.net/downloads.html
軟體版本: 32 位元 / 64 位元
軟體性質: 免費軟體,有繁中語言包

開啟官網的下載頁面,找到最新版本下載。一樣有分 32 或是 64 位元版本。

下載後直接執行安裝。

SVN 客戶端

這裡可以一直「下一步」直到完成安裝,我就不帶畫面了。

客戶端取出檔案庫

客戶端這邊在做下載之後,要先做取出完整檔案庫。
先預先建立要存放的目錄。在新目錄上按右鍵選「SVN Checkout」。

SVN 客戶端

接著要輸入 SVN Server 的檔案庫網址。

SVN 客戶端

取得檔案庫網址

回到 SVN 服務端這邊來,在檔案庫上面按右鍵選「Copy URL to Clipboard」,意思是複製連結至剪貼薄。

SVN 客戶端

接著回到客戶端這邊貼上檔案庫網址。

SVN 客戶端

因為我的客戶端與服務端是在不同的電腦上,所以複製的網址不能用,要將網址中的電腦名稱換成 IP 才可以。
將網址改為 https://192.168.1.111:8443/svn/Project1/ 就可以了。(注意個人 IP 有所不同。)

SVN 客戶端

按下「OK」後會驗證使用者身份,選擇「Accept the certificate permanently」。

SVN 客戶端

再輸入帳號密碼就可以了喔。

SVN 客戶端

客戶端上傳

在已修改的目錄下空白處按右鍵選「SVN Commit」就可以將檔案上傳到伺服器上了。

增加新檔案

SVN 在上傳部份會忽略掉新增檔案,如果要加入新增檔案,一樣在空白處按右鍵選「TortoiseSVN > Add」

執行會「Add」後還是要重新按「SVN Commit」才會將檔案上傳至伺服器喔。


客戶端下載

客戶端下載是時常做的動作,每一天在準備寫程式的時候,都會先執行一次下載,看看是否有最新的程式碼要先更新,等本機更新到最新的程式碼之後,才會開始今天的開發專案。

只要在專案的空白處按右鍵選「SVN Update」,就可以更新到最新的狀態了喔。

客戶端繁中語言包

SVN 預設的語言是英文的,如果想要改繁中版,可以到官網下方找語言包。

SVN 客戶端

點擊下載語言包後直接安裝。

安裝完成之後,在空白處按右鍵選「TortoiseSVN > Settings」進入 SVN 設定頁面。

SVN 客戶端

在語言裡面就可以選擇「繁體中文」了喔。

相關學習文章

如果你在學習上有不懂的地方,需要諮詢服務,可以參考站長服務,我想辨法解決你的問題
如果文章內容有過時、不適用或錯誤的地方,幫我在下方留言通知我一下,謝謝

加入社團一起討論

關注我的 IG