關於如何作版本發佈

問題:sql

最近的項目常常須要作版本發佈,可是版本發佈總是出現問題,問題以下:數據庫

好比,新手小接了一個新需求,一個功能開發完了,在本地環境和測試環境都測試經過了,緩存

把版本更新包提交到運維或者一線開發手上,運維

發佈到線上,svn

通知開發,測試人員進行功能更新的確認;工具

若是確認ok,更新結束;測試

若是確認不ok,進入下面的循環;版本控制

while(線上測試確認結果不OK)日誌

blog

//溫習下開發的功能的流程

//在出錯的代碼行先後加上日誌

//部署到線上

//測試確認?OK:NO;

if(OK) break;

else {

//查看日誌

//從新進入循環

}

總之,至關的繁瑣;


思考: 這是一個版本發佈不規範引發的問題,問題的根源在哪呢?

在下認爲,緣由有2;

  1. 本地環境,測試環境,生成環境的代碼(除了數據庫配置文件,緩存配置文件),存在差別;
  2. 相關的錯誤信息沒有放到容易查看的位置,出現問題沒法直觀明顯的看出問題,從問題中的加日誌能夠看出,這是一種很低效率的方法;

解決方案:

針對這種現象和產生這種問題的緣由,解決方案很是簡單;

1,首先是代碼錯誤信息的整理,最好是在數據庫中弄一張或者若干張日誌表,當程序發生錯誤或者異常,或者功能邏輯錯誤的時候,把相關的判斷結論和異常信息,數據進行存庫,若是出現問題,能夠快速的找到產生問題的緣由,和依據;

這點很是重要,能夠大大減輕開發人員成爲救火隊長的壓力,把相關的權限在後臺開發給業務人員,讓他們本身去協調解決問題;

2,版本控制工具的使用,好比svn, 首先,在本地弄一個功能徹底覆蓋的測試,經過以後把源碼分別發佈到測試環境,正式環境(數據庫配置文件,緩存配置文件除外),打出一個分支來做爲一個主分支;

後續的功能開發,在這個主分支上覆製出一個來進行開發,開發完成,測試環境測試完以後,合併到主分支上去,經過文件比較,找出更新的文件列表;

把這些文件整理,更新到線上,進行版本發佈;

3,更新的一個好習慣;

首先有一個主目錄, 名稱是 站點域名或者應用名_時間_開發人員_需求名稱

而後裏面是3個目錄,做用分別是:

序號 目錄名或者文件名 做用
1 bak 備份目錄,裏面分爲all(所有備份),sub(部分備份)
2 program 按照程序的部分備份目錄,進行部分文件的替換
3 sql 需求須要sql腳本
4 readme.txt 更新的說明,文件列表,驗證方法

這些文件準備好以後,進行兩次對比;

一個是所有備份跟本地源碼或者運行包的對比,這能夠找出是否有文件遺漏的狀況出現;

第二個是部分備份跟program的更新文件進行對比,查看修改的地方,再次進行確認;

若是對比都沒有問題,直接把program目錄整個覆蓋到線上的程序目錄;

最後是按照確認步驟,讓測試和開發人員進行確認;

若是沒問題,則更新完畢;

這樣作下來,通常都不會出現版本更新的問題;

如有想法,歡迎交流;卡特 505847426

相關文章
相關標籤/搜索