文件與備份

文件與備份

這真的是大哉問。

備份

先講我們怎麼做備份好了,我們有一台辦公室Server,會"手動地"方式取得各專案Repository的最新版,目前兩個專案用的是Git。各專案的Git Server由各專案自行決定。辦公室用Server僅是Check Out各專案的最新版。

到此階段專案的Repository就有雙重保障了(Git Server與辦公室Server)。順帶一提我們是遊戲專案,所以Repository裡面不只有放source code,還有放圖跟音效所以Repository的容量破G是很常見的事情,一點也不奇怪。這對科技產業來講應該很難想像。

然後各專案Repository之外還會有一些檔案,譬如說文件,設計原稿,參考遊戲,參考影片,常用工具這種東西,所以光使用Repository不夠。所以我們辦公室Server在各專案的Git外又脫褲子放屁用了一層SVN,然後把SVN Repository備份在Local Disk。這時就有三層保護了。(辦公室Server的檔案,及辦公室Server的SVN Repository)

再來辦公室Server除了儲存檔案之外還架了Redmine服務,專案管理的工作追蹤與部分文件,最後辦公室Server上面還放大型的映像檔(不納入SVN版本控制的超大型檔案)。所以我們辦公室Server的以上所有資料用了一Raid-0的外接盒去放。此時就有第四層保護了。

再來因為上面有講到一層脫褲子放屁的本機SVN Repository,所以我們最後做了一個月備份的流程。需要備份的東西就是SVN Repository,映像檔,Redmine資料夾。月備份會將這些東西複製到異地(其實就是我家),月備份算是第五層保護。目前辦公室營運了半年東西還不多,大概十幾G,只需要複製個半小時之內就搞定了。(我有試過1T的硬碟複製在USB2要11小時,USB3也要4小時)

目前我個人預估如果辦公室資料全毀,不含硬體的重新採購,應該可以保證在一天之內讓辦公室重新上線,大部分時間應該是在安裝開發需要的軟體(如Visual Studio)。

文件

再來講到文件。我們總共有四類:第一類就是除了Source Code之外當然就是有上述提到的圖片,音效等等部屬用的檔案。除了部屬用的檔案之外,第二類是開發過程中需要的檔案(如設計文件,參考資料等)放在上述的辦公室Server中。第三類是專案管理的工作項目與文件放在Redmine(Wiki)上。最後是第四類Dropbox與Google Doc等雲端的文件。

從我的經驗,雲端文件在異地團隊合作上是最重要的形式,對於經常出差使用行動裝置的人員非常好用。但是這種雲端文件有兩個缺點,第一個缺點是受限於網路品質與機器效能,一旦網路中斷,完全倚賴此種媒體的開發者等於是斷了一臂一樣,幾乎開發要停頓下來。(打比方說平時仰賴投影機開會的團隊一旦失去投影機就會面臨不會開會的情形發生)第二個缺點是檔案多起來之後,對目前的現況整個會呈現混亂的情形,新人不知道舊人曾經有哪些檔案,程式與企劃互相也不知道對方的全部。極度仰賴開發者的記憶與素質來掌握全局。

第四類的文件隨著時代進步有其必要,但我們仍可談談傳統的一些媒介,第二類本地端檔案的缺點就是不能共同開發,而且有版本的問題,這個基本上不能處理,就是用版本控制來幫忙,並且透過柔性督促/強制恐嚇的方式開發者把自己本機的檔案歸類到備份電腦。第一類與部屬直接相關的則是每個開發者手上會有一份,每日都有可能會上傳,只需要上傳前後知會必要人員讓工作順利推進即可。

第三類Wiki的文件則是我目前認為專案開發最重要的一環,他有雲端文件的共同開發的特性,也可以有本機端的檔案的收集性(都在同一處),但我認為這種形式的媒介最好的部分是強制統一並強制簡化開發者寫文的格式,因為工具的限制原因,不會再出現那種以往每個人寫Word檔案結果格式(寫作風格)不同的現象。但Wiki也不限制只能寫文,他一樣可以使用檔案作為輔助,依然可以用圖片,超連結做各種補充。在專案的工作方面,Task為主的工作模式讓Task變為Story,也讓開發的過程留下紀錄,最後是Task的紀錄方式與Wiki相同,所以把Task的筆記變為文件也是無痛。

 

廣告

One thought on “文件與備份

  1. 引用通告: 關於文件管理的幾個迷思 | NDark MSN Live Space

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s