代碼上線架構方案
1、開發人員需在個人電腦搭建LAMP環境測試開發好的網站代碼,並且在辦公室或IDC機房的測試環境測試通過,最好有專職測試人員。 2、程序代碼上線規定時間,由網站業務性質而定,原則就是影響用戶體驗最小。 3、代碼上線之前需備份,網站程序出了問題方便回退,另外,從上線技巧上將,上傳代碼時盡可能先傳到服務器網站臨時目錄,傳完整後一步mv過去,或者通過ln做軟連接。 線上更新代碼的思路。如果嚴格更新,把應用服務器從集群節點平滑下線,然後更新。 4、盡量由運維人員管理上線,對於代碼的功能性,開發人員更在意,而對於代碼的性能優化和上線後服務器的穩定,運維更在意服務器的穩定,因此,如果網站宕機問題歸運維管,就要讓運維上線,這樣更規範科學。否則,開發隨意更新,出了問題運維負責,這樣就錯了,運維永遠無法擡頭。
中型企業上線解決方案
一般是規範運維人員操作步驟,制定統一的上線操作腳本備份文件名稱、備份文件路徑。使操作人性化,統一化,自動化。 web代碼的上線流程: 1、開發組內部測試 2、測試組內外網測試 3.1、重要升級---》運維組備份 3.2、普通升級---》上線 4、回滾後上線----》運維組代碼回滾 1.2、用戶應用 1.2.2、有問題-----》運維組代碼回滾 1.2.3、上線
大型企業上線解決方案
ITIL,BSW規範。
大型企業java代碼上線流程圖
svn服務器上主要管理:
1.程序代碼 2.服務的配置 3.項目文檔,設計文檔,運維部署優化文檔1234
上線時,大型集群環境一般有數臺及其集群,因此,同時需要更新或者分批更新。
1.本地開發人員從svn中取代碼。當天上線的天機到trunk,否則,長期項目單開分支開發,然後再合並主線(trunk) 2.辦公內網開發測試時,由開發人員或配置管理員通過部署平臺jenkins實現統一部署,(即在部署平臺上控制開發及其從svn取代碼,編譯,打包,發布到開發機,包名如dep.war) 3.開發人員通知或和測試人員一起測試程序,沒有問題後,由配置管理員打上新的tag標記 4.配置管理員,根據上步的tag標記,checkout出上線代碼,並配置好IDC測試環境的所有配置,執行編譯,打包(maven,ant)(pho不需要),然後發布到IDC內的統一分發服務器,這裏要註意,不同環境的配置文件是隨代碼同時發布的。 5.配置管理員或SA上線人員,把分發的程序代碼內容推送到相關測試服務器,然後通知開發及測試人員進行測試。如果有問題向上回退,繼續修改。 6.如果IDC測試沒有問題,繼續打好tag標記,此時,配置管理員,根據上步的tag標記,checkout出測試好的代碼,並配置好IDC正式環境的所有配置,執行編譯,打包(maven,ant),然後發布到IDC內的統一分發服務器主機,準備批量發布。 7.配置管理員或者SA上線人員,把分發的內容推送得到相關正式服務器,然後通知開發及測試人員進行測試。如果有問題直接發布回滾指令。 IDC正式上線的過程對於JAVA程序,可以是AB組上線的思路,即平滑下線一般的服務器,然後發布更新代碼,重啟然後測試,無問題後,掛上更新後的服務器,同時在平滑下線另一半的服務器,然後發布更新代碼測試(或者直接發布後,重啟,掛上線)
PHP程序代碼上線的具體方案
對於php上線方法: 發布代碼時(也需要測試流程)可以直接發布到正式臨時目錄,然後mv或更改link的方式發布到正式線目錄,不需要重啟http服務。
JAVA程序代碼上線的具體方案
較大公司需要分組平滑上線,例如,首先從負載均衡器上摘掉一半的服務器,發布代碼後,重啟服務器測試,沒問題後,掛上上好線的一半,再下另外一半。如果前端有DN智能解析,上線還可以分地區上線若幹服務器,逐漸普及得到全國的服務器,這個被稱為灰度發布。
代碼上線解決方案註意事項
1.上線的流程裏,版本測試環境--》IDC測試環境--》正式生產環境,所有的環境中的所有軟件均應版本統一,其次,盡量單一,否則將後患無窮,開發測試成功,IDCC測試就可能有問題。 例如:操作系統、web服務器,jdk,php,tomcat,resin等版本 2.開發團隊小組辦公室內部測試環境測試(該測試環境屬於開發小組維護,或定時自動更新代碼),代碼有問題返回給某開發人員重新開發。 3.有專門的測試工程師,程序有問題直接返回給開發人員(此時返回的一般為程序的bug,稱為bug庫),無問題進行IDC測試 4.IDC測試由測試人員和運維人員參與,叫IDCtest,進行程序的壓力測試,有問題直接返回給開發人員,無問題進行線上環境上線 5.數臺服務器代碼分發上線方案(java): 5.1.假設同業務服務器有6臺,將服務器分為a、b兩組,a組三臺,b組三臺,先對a組進行從負載均衡器上平滑下線,b組正常提供服務,避免服務器因上線影響業務。 5.2.下線過程是通過腳本將a組服務器從rs池(lvs,nginx,haproxy,f5等均有平滑方案)中踢出,避免負載均衡器將請求發送給a組服務器(此時的時間應該為網站流量少時,一般為晚上) 5.3.將代碼分發到a組服務器的站點目錄下,對a組服務器上線並重啟服務,並由專業的測試人員進行訪問測試,測試成功後,掛上a組的服務器,同時下線b組服務器,b組代碼上線操作測試等和a組相同,期間也要觀察上線提供服務的服務器狀態,有問題時及時回滾。 6.如果是php程序,則上線可以簡單化,直接將上線代碼(最好全量)發布到所有上線服務器的特定目錄後,分發完成後,一次性mv或ln到站點目錄,當然測試也是少不了的,測試出了人員測試外,還有各種測試腳本測試各個相關業務接口 7.大多數門戶公司的前端頁面都已經靜態化或者cache了,因此,動態的部分訪問平時就不會特別多,流量低谷時就更少了,再加上是平滑上下線,因此基本上是對用戶體驗無影響的。 8.svn上包含代碼和配置 8.1 svn上存放程序代碼(不含資源,大公司網站資源和程序分離的),盡可能全量上線 8.2 存放所有服務的配置文件(lamp環境,如:apache的httpd.conf配置文件) 8.2.1 開發小組測試環境使用的配置文件 8.2.2 辦公測試環境使用的配置文件 8.2.3 IDC測試環境使用的配置文件 8.2.4 線上應用使用的配置文件 在上線不同環境時,由配置管理員協調上線
什麽是配置管理員?
就是在開發和運維中間起一個連接紐帶的一個職位,這個職位一般在大公司裏會設置,負責svn的管理,上線管理,申請,協調等工作
自動化部署和上線代碼管理平臺
對於門戶網站或重視規範或開發能力較強的公司也許會結合系統服務和web界面管理來更科學更自動的進行上線代碼管理,如開發一個自動化代碼上線部署平臺,其實就是一個web管理界面(界面底層調用相關腳本實現分發推送代碼以及重啟服務器),然後普通的初級上線人員就可以再平臺裏實現僅僅點鼠標、敲回車,就能實現平滑上線和平滑回滾代碼了。
開發自化部署平臺的思路很多,例如:可以通過nagiios的被動模式實現上線管理平臺原理思路:
實際上就是生成配置在分發服務器上執行命令請求,應用服務器,然後腳本在應用服務器處理完畢後回傳結果到web界面顯示
開發人員和運維人員業務變更管理平臺
業務變更管理平臺優點:
1.變更管理制度流程有利於業務穩定 2.保留變更業務歷史,便於核查發現的問題 3.故障跟蹤平臺,有利於跟蹤問題的解決進度,而不是半途而廢 4.相關常用軟件: 4.1 FIRA用戶缺陷跟蹤、客戶服務、需求收集、流程審批、任務跟蹤和敏捷管理等工作領域 4.2 mantis是一款php開源bug跟蹤系統,比較適合中小型項目的管理及跟蹤,具有多特性包括:易於安裝,易於操作,基於web,支持任何可運行php的平臺(windows,linux,max,solaris,as4000/i5等),已經被翻譯成68種語言,支持多個項目,為每一個項目設置不同的用戶訪問級別,跟蹤缺陷變更歷史,定制我的視圖頁面,提供全文搜索功能,內置報表生成功能(包括圖形報表),通過email報告缺陷,用戶可以監視特殊對待bug,附件可以保存在web服務器上或數據庫中(還可以備份到ftp服務器上),自定義缺陷處理工作流,支持輸出格式包括csv、microsoftExcel、microsoftWord,集成源代碼控制(svn與cvs),集成wiki知識庫與聊天工具(可選/不可選),支持多種數據庫(mysql,mssql,postgresq,oracle,db2),提供webService(soap接口),提供wap訪問
灰度:
專業名詞叫bucket test ,就是桶檢測,抽一部分用戶去檢測。這個有幾種方式,一個是按流量比例來抽,按流量比例來抽就是隨機命中的,有可能有百分之百的用戶有可能都會被命中。還有種情況是根據用戶來抽,比若說根據用戶的cookie來判斷是不是該進入到桶裏面。一般都是針對核心業務的。
代碼上線架構方案
相關推薦
代碼上線架構方案
代碼上線小型企業上線架構方案1、開發人員需在個人電腦搭建LAMP環境測試開發好的網站代碼,並且在辦公室或IDC機房的測試環境測試通過,最好有專職測試人員。 2、程序代碼上線規定時間,由網站業務性質而定,原則就是影響用戶體驗最小。 3、代碼上線之前需備份,網站程序出了問題方便回退,另外,從上線技巧上將,上傳代碼
Jenkins與代碼上線解決方案
servlet容器 perf png ant rtc 技術分享 acl tomcat com Jenkins是一個用Java編寫的開源的持續集成工具。在與Oracle發生爭執後,項目從Hudson項目獨立。 Jenkins提供了軟件開發的持續集成服務。它運行在Serv
企業級代碼上線方案詳解
代碼上線 代碼備份 軟鏈接 中小型企業代碼上線準則 (1)上線說明****對於重要的升級上線來說先有運維人員備份所有重要數據,然後經過開發人員測試和內部測試成功後直接上傳的站點目錄,出現問題後采用歷史代碼回滾策略。而對普通升級來說,先備份必要數據,然後代碼在開發人員和內外網測試成功後可直接上線。(
代碼上線流程以及版本發布小結
監測 請求 log app 說明 process class 指定 簡單 之前的上線流程很簡單粗暴如圖: 這簡直是災難性質的,上傳 SVN,在測試服務器上看看正在調試的接口沒問題,直接 sync 到線上服務器。代碼無法回滾,只能覆蓋。而客戶端的同學需要穩當的 api 作為
代碼上線
代碼上線 灰度發布1 .小型企業現狀 小型公司一般只有幾個開發人員,並且網站核心程序大多都是PHP語言開發,為了方便,會直接通過FTP直接上傳程序代碼到線上服務器,隨時隨地上線更新。1.1 上述代碼方案的優缺點優點:發布快,及時,隨時隨地就可以發布
Jenkins + Gitlab + Ansible--playbook 代碼上線流程(文末有免費視頻)
read 跳轉 ansible 操作 oss 51cto git 關註 點擊 jenkins 構建是支持 git 選擇分支 安裝 Git Parameter 插件在系統管理中的插件管理 然後點擊選插件,在右上角輸入 Git Parameter,找到 Git
Tomcat 項目代碼上線步驟詳解
Tomcat 項目代碼上線步驟詳解Tomcat 項目代碼上線步驟詳解 1、上線內容(JSP代碼,圖片,包文件(jar|war|ear)) 2、上線內容來源 a.開發人員提供(郵件形式).tar.gz 壓縮包(包文件開發負責編譯 編譯命令jar或者winrar工具) b.運維負責編譯(利用jenkins的打
利用ansible進行代碼上線
-m 安裝 進行 oot vid scrip all script chang 1.配置ansible 1.1此處需要script模塊,所以在所有設備上安裝libselinux-python[root@localhost /]# ansible webA -m yum -a
SVN版本管理與大型代碼上線
產品 listen warn admin 定義 無法 splay correct -h SVN版本管理與大型代碼上線 一、SVN簡介 SVN是近年來崛起的非常優秀的版本管理工具,是一個開源的版本控制系統,開發的代碼版本, 這些數據位置放置在一個中央資料檔案庫,很想一個普通
Android studio 代碼突然報錯解決方案
cache dst roi image 技術分享 users 方案 file sdn 1.點擊File->Invalidate Caches / Restart... 2.重啟Gradle,清除緩存 3.Clean Project 4.關閉Android Stud
怎樣搭建輕量級架構-代碼組織篇
data 文章 網址 編譯 數據庫 微信公眾號 瀏覽器緩存 關聯 gin 非常多程序猿看到標題,預計心裏一楞:一個組織代碼,有什麽可講的,無非是公司網址倒著寫,外加命名規範,最多分模塊管理而已!怎麽這都能忽悠一篇文章來? 代碼組織確實是一件簡單的事情。可是假設
HDFS HA架構以及源代碼引導
decided return property 正常的 except 共享存儲 並運行 coo validate HA體系架構 相關知識介紹 HDFS master/slave架構,HDFS節點分為NameNode節點和DataNode節點。NameNo
硬盤緩存方案DiskLruCache源代碼解析
str net same strings file expected xtend executors 方式 前面研究了LruCache,它作為如今用的最多的內存緩存方案已經在非常多開源緩存框架中使用。相同的還有硬盤緩存方案也就是DiskLruCache,通常的做法就是使
SoC嵌入式軟件架構設計之三:代碼分塊(Bank)設計原則
post 介紹 讀寫 cor 層次 clas rom bank 分配 上一節講述了在沒有MMU的CPU(如80251、MIPS M控制器系列、ARM cortex m系列)上實現虛擬內存管理的集成硬件設計方法。新設計的內存管理管理單元要實現虛擬內存管理還須要
版本號對比方案及參考代碼(Objective-C,Java,JavaScript)
true eap bstr math 當前 function loop sse 版本號 常用版本號 如 2.0.1 與 2.0.2 相比 2.0.2是比2.0.1要新的 那麽該如何對這個版本號進行對比 這裏有一個比較簡單的實現方案 2.0.1 這種格式可以拆分為多個部分
Android DiskLruCache 源代碼解析 硬盤緩存的絕佳方案
print rac 增加 bstr 推薦 disk 驗證 its created 轉載請標明出處: http://blog.csdn.net/lmj623565791/article/details/47251585; 本文出自:【張鴻
javascript 代碼架構
tab on() 一個表 內容 ima 應該 src 操作 java 1.控件事件盡量用$(...).click(function())添加,除非是很多地方都會用到的共用函數,才用<... onclick="function()">放在html裏 2.如果是不
分享一個VS2013代碼窗口一閃而過的解決方案。
console system 感謝 鏈接 窗口 情況 ons 點擊 sub 下載完VS2013,寫一個簡單代碼以後,我遇到了運行窗口一閃而過的情況,我按Ctrl+F5也沒能杜絕這個情況發生。 解決方案:上面一欄“項目-屬性-配置屬性-鏈接器-系統-子系統”,點擊“子系統”左
gitlab+jenkins+hook代碼自動構建發布上線
jenkins 名稱 成功 alt tla cnblogs settings 9.png 一個 Gitlab+Jenkins+Hook 1、gitlab和jenkins的安裝見: http://www.cnblogs.com/cuishuai/p/7544663.html
Windows10 使用Virtual Box一啟動虛擬機就藍屏(錯誤代碼SYSTEM_SERVICE_EXCEPTION)解決方案
電腦 str sso csdn term win window end pre 原文:Windows10 使用Virtual Box一啟動虛擬機就藍屏(錯誤代碼SYSTEM_SERVICE_EXCEPTION)解決方案 一打開虛擬機電腦就立馬藍屏重啟,新建