svn部署大中小型企業上線解決方案(四)

來源:互聯網
上載者:User

標籤:vn部署大中小型企業上線解決方案

一、svn目錄組織圖說明

    --branch 分支,為測試時使用,幾天以上的項目必須開分支,測試需要本分支通過,主線合并到分支通過,才能合并到主線進行測試

    --tags 版本記錄使用

    --trunk 主線,與正式線相對應,當天不上線檔案不允許提交

二、中型企業上線解決方案

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6E/A1/wKioL1WBQ2_iRX0zAAWtWmNWWTc740.jpg" title="21.png" alt="wKioL1WBQ2_iRX0zAAWtWmNWWTc740.jpg" />

規範營運人員操作步聚,制這統一操作指令碼,備份檔案名稱,備份檔案路徑。使操作人性化,統一化.


三、大型公司解決上線方案

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6E/A1/wKioL1WBRCXAIlgxAANkXbYy5dk779.jpg" title="20.png" alt="wKioL1WBRCXAIlgxAANkXbYy5dk779.jpg" />

1、特別是JAVA代碼環境,上線時,有數台機器同時需要更新:

1).本地開發人員取svn代碼。當天上線提交到trunk,否則,長期項目單開分支開發,然後在合并主線(trunk)

2).辦公內網開發測試時,由開發人員或配置人員通過部署平台jenkins實現統一部署,(即在部署平台上控制開發機器從svn取代碼,編譯,打包,發布到開發機包如id_dep.war).

3).開發人員通知測試人員或一起測試,沒有問題後,打上tag標記。

4).配置管管理員,根據上步的tag標記,checkout出代碼,並配置好IDC測試環境的所有配置,執行編譯,打包(mvn,ant)(php不需要),然後發布到IDC內統一散發者。

5).組態管理員或SA上線人員,把分發的內容推送到相關測試伺服器(報名如id_test.war),然後通知開發及測試人員進行測試。如果有問題向上回退。

6).如果沒有問題,繼續打好tag,此時,配置上步tag標記,checkout出代碼,並配置好IDC環境所有的配置,執行編譯,打包(mvn,ant)(php不需要),然後發布到IDC內統一散發者。

7).組態管理員或SA上線人員,把分發的內容推送到相關正式伺服器(報名idc_product.war),然後通知開發及測試人員進行測試。如果沒有問題直接發布復原指令。

  

  IDC正式上線的過程對於JAVA程式,可以是AB組分組上線的思路,即平滑下線一半的伺服器,然後發布更新代碼測試,無問題後,掛上伺服器,同時在平滑下線另一半的伺服器,然後發布更新代碼測試(或者直接發布後就掛上線)

  對於PHP上線方法:發布時可以用發布到正式線臨時目錄 ,然後mv或更改link的方式發布到正式上線目錄 ,不需要重啟

  

  對於java上線方法:需要分組平滑下上線(如從負載平衡上摘掉部分伺服器),發布代碼後,重啟伺服器測試

  

  

2、上線解決方案注意事項

 1).辦公室測試環境--IDC測試環境---正式生產環境,所有軟體均應版本統一(如:作業系統,web伺服器,jdk,php,tomcat,resin等版本)

 2).Team Dev小組測試環境測試(該測試環境屬於開發小組),有問題返回給某開發人員重新開發。

 3).有專門的測試工程師,程式有問題直接返回給開發人員(此時返回的一般為程式的BUG,稱為BUG庫),無問題進行IDCi測試

 4).IDC測試由測試人員和營運人員參與,叫IDCtest,進行程式的壓力測試,有問題直接返回給開發人員,無問題進行線上環境上線

 5).數台伺服器代碼分發上線方案舉例(JAVA程式)

      A:假設同商務服務器有6台,將伺服器分為A,B兩組,A組三台,B組三台,先對A組進行從負載平衡器上平滑下線,B組正常提供服務,避免伺服器因上線影響業務。

      B:下線過程是通過指令碼將A組伺服器從RS池(LVS,NGINX,HAPROXY,F5等均有平滑方案)中踢出,避免負裁均衡器將請求發送給A組伺服器(此時的時間應該為網站流量少時,一般為晚上)

      C:將代碼分發到A組伺服器的網站目錄下,對A組伺服器上線並重啟服務,並由專業的測試人員進行訪問測試,測試成功後,掛上A組的伺服器,同時下線B組伺服器,B組代碼上線操作測試等和A組相同

 6).特別說明:如果PHP程式,則上線可以簡單化,直接將上線代碼(最好全量)發布到所有上線伺服器的特定目錄後,分發完成後,一次性mv或ln到網站目錄,當然測試是少不了的。

 7).大多數門戶的前端頁面都已經靜態或者cache了,因上經動態部分訪問平時就不會特別多

 

 9、SVN上包含代碼和配置

 (1)、SVN上存放程式碼(不含資源,大公司基本資源和程式都是分離的)

 (2)、存放所有服務的設定檔(LAMP環境,如:apache的httpd.conf設定檔)

 (3)、開發小組測試環境使用的設定檔

 (4)、辦公測試環使用設定檔

 (5)、IDC測試使用的設定檔

 (6)、線上應用使用的設定檔

 什麼時組態管理員?

 就是在開發和營運中間起一個串連紐帶的一個職位,這個職位一般在大公司會設定,負責SVN的管理,上線管理,申請,協調等工作

 

 

四、平滑代碼上線是什麼

就是在網站代碼更新時,不影響正在瀏覽使用者的正常瀏覽網頁或其正使用的其他相關應用


五、一些軟體平滑重啟的方式

1)apache的平滑重啟

./bin/apachectl gracefull


2)nginx的平滑重啟(php-fpm的reload)

./sbin/nginx-s reload


3)nfs網路服務

/etc/init.d/nfs reload


4)lvs/haproxy的服務下載RS的操作


5)F5和Netscaler等也有相應的下線的RS方式


svn部署大中小型企業上線解決方案(四)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.