# 適用范圍
* 本規范適用寶物交易事業部;
* 本規范適用于項目或需求,BUG修復或緊急上線不屬于本規范范疇。
# 為什么要規范
* 避免漏傳文件致重大問題;
* 避免上線順序致重大問題;
# 上線前準備些什么
## 確認測試通過
> 必須通過測試工程師、研發負責人、項目負責人確認測試通過,否則不可進行上線操作。
## 數據庫變更資料
### 新增表
> 由后端開發工程師以txt文件的方式整理并提供新表結構生成SQL語句。
### 表結構變更更
> 由后端開發工程師以txt文件的方式整理并提供表結構變更SQL語句。
### 原有數據變更
> 由后端開發工程師以txt文件的方式整理并提供數據變更SQL語句。
## 文件變更列表
### API
> * 由后端工程師以txt文件的方式整理后端變更程式列表;
> * 按svn文件路徑歸類,相同路徑整理一起;
### 后端程序
> * 由后端工程師以txt文件的方式整理后端變更程式列表;
> * 按svn文件路徑歸類,相同路徑整理一起;
### 前端程序
> * 由前端開發工程師以txt文件的方式整理前端端變更程式(CSS/CSS/圖片)列表;
> * 按svn文件路徑歸類,相同路徑整理一起;
### 自動執行程式
> * 由后端開發工程師整理;
> * 明確執行時間或頻率。
# 上線步驟
|步驟|上線內容|備注|
|--|
|1|新增表、表結構更改|使用ThinkPHP框架的項目注意刷新字段緩存,如游戲寶、8591安卓版后端、主站API。|
|2|數據變更|同1|
|3|API程式||
|4|前端配置變更|如:JS配置|
|5|合并文件|注意步驟:<br>1.更新文件<br>2.合并文件<br>3.提交SVN|
|6|核對文件列表|與開發工程師核對上傳文件列表|
|7|上傳文件|步驟5-7要嚴格按部就班。|
|8|觀察運行情況|包括:<br>1.PHP錯誤、慢日志;<br>2.SQL錯誤、慢日志;<br>3.服務器負載;<br>4.前端腳本錯誤;<br>5.數據正確性;<br>觀察時間視項目大小,范圍于30分鐘至2小時|
# 什么時間可以上線
|序號|工作日|上線時間|
|--|
|1|周一至周四|10:30~17:00|
|2|周五|10:30~15:00|
# 怎么判斷是否需要關站
|序號|內容|備注|
|--|
|1|數據表結構變動|包括:<br>增加字段;<br>更改字段類型、默認值;<br>增加或修改索引;<br>以上操作預計用時超過1分鐘|
|2|數據備份|數據導出時,防止有新進數據未備份|
|3|新舊功能不兼容或重大功能變更|可能出現會員前部分操作是舊版,后部分是新版,從而導致數據出錯|
|4|需要在線上測試|部分功能可能受環境影響,只能在線上測試通過后才可對會員開放|
# 文件上傳完就完事了嗎
> No!!請回頭看“上線步驟-觀察運行情況”部分。
# 附錄
## 錯誤文件與位置
|錯誤|位置|
|--|
|NGINX錯誤|/usr/local/nginx/logs/error.log|
|PHP錯誤|/tmp/php-error.log<br>/usr/local/php5/var/log/error.log|
|PHP慢日志|/usr/local/php5/var/log/www.log.slow|
|MYSQL錯誤|/home/htdocs/new8591/8591/data/logs/sql/errorLogYYMMhtml<br>/home/htdocs/new8591/8591/data/logs/sql/pdo_errorLogYYMMhtml|
|MYSQL慢日志|SELECT * FROM mysql.slow_log|
|MYSQL進程|/usr/local/mysql/bin/mysqladmin –h[host] –u[user] –p[password] pr stat -v \| grep -v Sleep|
|API日志|/home/htdocs/new8591/api/App/Runtime/Logs/YY-MM-DD.log|
|JS錯誤日志|/home/htdocs/new8591/8591/data/logs/js_error.log|
## 項目上線確認表
|項目名稱|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX項目|
|--|--|
|研發負責人||
|上線負責人||
|上線日期||
|流程|確認內容|負責人|簽字|
|--|
|項目測試|確認測試環境通過測試|測試工程師||
|數據庫|新增表SQL語句|開發工程師||
||原有表結構更改SQL語句|開發工程師||
||數據變更SQL語句|開發工程師||
|文件整理|后端程式變更列表|開發工程師||
||API文件變更列表|開發工程師||
||前端腳本/樣式/圖檔變更列表|開發工程師||
|合并文件|合并并解決所有沖突|研發負責人||
|文件核對|確認無遺漏文件|開發工程師||
|文件上傳|確認全部上傳且成功|研發負責人||
|配置變更|確認配置更新成功|研發負責人||
|上線觀察|確認無錯誤或已全部修復|研發負責人||
|項目驗收|確認項目正確運行|項目負責人||