自動產生專案部署相關文件(使用Beyond Compare)
0 |
部署網站專案時,常需要比對本機檔案與伺服器端檔案差異,以決定需更新檔案清單。
我過去常用的方法是用Q-Dir列出兩個目錄的檔案清單,依日期排序後再使用"人肉比較器"找出最近更新的檔案。最近認識了Beyond Compare這套優秀的檔案同步軟體,還發現了一些可用在專案部署的好功能,順手整理成心得分享。
Beyond Compare是套商業軟體(非Freeware),3.0標準版美金30元,專業版則再多出 3方文字合併、SFTP支援、Source Control整合(例如: 直接Check In/Check Out VSS)、檔名比對/文字內容比對規則客製、Registry... 等等。除了比對工具必備的新舊內容左右對照合併操作外(如下圖),最讓我印象深刻的是它還支援圖檔、MP3、Office... 等檔案格式的比較。
發現連Excel(*.xlsx)的內容都能被解析比對時,讓我有起雞皮疙瘩的感覺...
Beyond Compare的功能細節還有很多,詳細的說明可參考官方線上文件,這裡就只聊聊在專案部署上可能的應用。
【網站檔案部署】
針對開發環境部署到測試環境的場合,一般程式上線管控不用太嚴謹,則可用Folder Sync功能比對新舊目錄的檔案差異,列出並選取要更新的檔案項目,按一下Sync Now就一次複製過去。
【部署檔案清單】
在正式環境或驗收測試環境的部署,由於開發人員多半不具有更新權限,必須提出申請由另外的OP人員負責執行部署更新,因此需要產出待部署檔案清單,某些稽核要求更嚴的系統,變更現有程式時,甚至還需附上程式碼變更的細節存查,此時Beyond Compare的報表功能便可派上用場。
拿前些日子提過的黑暗英語單字複習網站當範例:
1.新增一個Folder Compare Session,左邊是待上線的版本、右邊是目前營運的版本
2.選取Show Left Newer and Left Orphans(左邊版本較新或是新增項目),就可得到上圖的結果。
3.選取主選單Session的Folder Compare Report,會彈出報表格式設定對話框
4.報表分為Site-By-Side、Summary及XML Dump,按一下"View In Browser”還可以直接在瀏覽器中檢視HTML格式輸出效果。(但有一點美中不足。Beyond Compare 3雖然已支援Unicode檔案名顯示,但是報表的部分卻仍採用ANSI格式,中文環境下使用BIG5編碼,會造成一些顯示問題(如下圖中的路徑符號),Unicode難字也會變成"?"。)
HTML格式雖然精美,但實務上線單的部署清單的格式多會有制式規定,將報表輸出成XML,再另外寫程式將XML轉換成規定的格式,會較符合企業需求。
【程式異動對照表】
最後,如要產生程式碼修改對照報告,可以在比對介面上選取要比對的檔案,從右鍵清單選取File Compare Report:
在Text Compare Report設定上,可考慮將Report layout設為Side-by-side(左右參照)、勾選Ignore unimportant(忽略空白換行等不重要的差異)、限定"Differences"(只包含有差異的部分,Show Context指會多加上前後文,多半非必要)、勾選Include line numbers才會顯示行號。
程式異動參照文件的輸出結果如下,應可滿足一般稽查需求。
Comments
Be the first to post a comment