問題:sql
最近的項目常常須要作版本發佈,可是版本發佈總是出現問題,問題以下:數據庫
好比,新手小接了一個新需求,一個功能開發完了,在本地環境和測試環境都測試經過了,緩存
把版本更新包提交到運維或者一線開發手上,運維
發佈到線上,svn
通知開發,測試人員進行功能更新的確認;工具
若是確認ok,更新結束;測試
若是確認不ok,進入下面的循環;版本控制
while(線上測試確認結果不OK)日誌
{blog
//溫習下開發的功能的流程
//在出錯的代碼行先後加上日誌
//部署到線上
//測試確認?OK:NO;
if(OK) break;
else {
//查看日誌
//從新進入循環
}
}
總之,至關的繁瑣;
思考: 這是一個版本發佈不規範引發的問題,問題的根源在哪呢?
在下認爲,緣由有2;
解決方案:
針對這種現象和產生這種問題的緣由,解決方案很是簡單;
1,首先是代碼錯誤信息的整理,最好是在數據庫中弄一張或者若干張日誌表,當程序發生錯誤或者異常,或者功能邏輯錯誤的時候,把相關的判斷結論和異常信息,數據進行存庫,若是出現問題,能夠快速的找到產生問題的緣由,和依據;
這點很是重要,能夠大大減輕開發人員成爲救火隊長的壓力,把相關的權限在後臺開發給業務人員,讓他們本身去協調解決問題;
2,版本控制工具的使用,好比svn, 首先,在本地弄一個功能徹底覆蓋的測試,經過以後把源碼分別發佈到測試環境,正式環境(數據庫配置文件,緩存配置文件除外),打出一個分支來做爲一個主分支;
後續的功能開發,在這個主分支上覆製出一個來進行開發,開發完成,測試環境測試完以後,合併到主分支上去,經過文件比較,找出更新的文件列表;
把這些文件整理,更新到線上,進行版本發佈;
3,更新的一個好習慣;
首先有一個主目錄, 名稱是 站點域名或者應用名_時間_開發人員_需求名稱
而後裏面是3個目錄,做用分別是:
序號 | 目錄名或者文件名 | 做用 |
1 | bak | 備份目錄,裏面分爲all(所有備份),sub(部分備份) |
2 | program | 按照程序的部分備份目錄,進行部分文件的替換 |
3 | sql | 需求須要sql腳本 |
4 | readme.txt | 更新的說明,文件列表,驗證方法 |
這些文件準備好以後,進行兩次對比;
一個是所有備份跟本地源碼或者運行包的對比,這能夠找出是否有文件遺漏的狀況出現;
第二個是部分備份跟program的更新文件進行對比,查看修改的地方,再次進行確認;
若是對比都沒有問題,直接把program目錄整個覆蓋到線上的程序目錄;
最後是按照確認步驟,讓測試和開發人員進行確認;
若是沒問題,則更新完畢;
這樣作下來,通常都不會出現版本更新的問題;
如有想法,歡迎交流;卡特 505847426