傳統簡單保留
若是web服務器就那麼幾臺,大體能夠在測試服務器上測試好之後,直接在正式的web服務器 壓縮拷貝一個,而後再覆蓋下,進行簡單暴力的發佈。 這種純手工發佈每每會帶來幾個問題web
- 壓縮一不當心把壓縮包放到了web根目錄,要是命名不注意直接好比 www.rar ,這種致命的錯誤讓人把文件下載去那就追悔莫及了
- 出現問題要還原的時候 得把備份的從新解壓 還原繁瑣
- 全部操做都是沒有記錄的 操做行爲不能跟蹤
- 開發、測試、運維 流程至關混亂,何時測試完了須要靠喊話
改造優化
最新在規範上線流程的時候思考出一套比較合適的上線方案,分幾步走服務器
- 開發機、一臺本地測試機、 一臺線上測試機、10臺正式web
- 開發機和 測試機公用一個svn服務器, 線上測試機和正式機公用一個公網的svn服務器
- 寫一套自動更新的腳步(在測試只要開發機已發佈 直接通知測試機上服務器 執行svn update)
- 公司項目都是走產道,這個腳本直接在禪道發佈管理裏面操做,開發人員完成一個功能模塊時候 手動點下發布(固然.net程序同步的確定是發佈後的文件夾) 把開發好的代碼同步到測試服務器上
- 測試組本地測試沒問題時候,在產道點下發布到線上與上線環境(這個過程目前能夠手動拷貝,也能夠經過ftp服務器自動上傳)
- 線上測試沒問題之後,禪道里麪點擊發布到正式服務器。
大概流程以下圖運維
後記問題
- 隨着svn的使用正式web服務器上會多一些沒必要要的文件浪費了部分硬盤空間
- 若是一旦svn服務器出現問題整個更新過程癱瘓 特別是在更新過程當中出現問題更是致命的(更新到一半忽然出問題)