關於多個開發中心開發同一軟體的配置管理
做軟體專案開發的人員都熟悉版本控制,但一般都為在同一開發地點的版本控制,所有相關的開發人員在同一個地點做開發,用一個版本控制軟體來Check in 和Check out,達到版本控制的效果。但如果同時在幾個不同的地方進行同一軟體的開發,怎樣來做版本控制?很少見到這方面的介紹,我就現在參與的一個專案的實際情況來介紹一下這方面的經驗。
我公司是一個香港軟體公司,在香港、北京和深圳各有一個開發中心,三地正在合作開發一個大型的香港金融軟體專案,現在涉及到一個三地的版本控制和協同開發問題。首先由於客戶在香港,整個系統的整合和整體測試(IAT)、使用者測試(UAT)在香港開發中心來完成,那麼北京和深圳開發的程式要彙總到香港來進行編譯、整合,由於同一模組甚至同一程式在三地都可能同時修改,程式的Check in和Check out一定要嚴格控制,否則版本的一致性將會失控。另外程式還分成IAT測試環境、UAT測試環境、生產系統三個版本,分別管理系統在各生命週期的程式。
為了到達此目標,我們公司自己開發了一個小的配置管理軟體CMS(Configuration Management System) 用來進行版本控制。
首先各開發中心安裝自己的版本控制軟體VSS,在開發新功能或修改現有功能之前,從香港的版本控制部門通過郵件或FTP方式得到系統最新的原始碼、配置檔案,然後基於這個版本的進行程式開發。在進行單元測試正確後,要向版本控制中心進行程式提交,程式設計師通過HTTP方式登入香港版本控制中心的CMS系統進行登記。
程式開發人員在提交請求後,需要經過專案組長或主管的審批,審批人員在審批過程中主要檢查申請單填寫是否正確,是不是需要提交這些檔案,檔案路徑、名稱是否正確;版本控制人員根據這些提交申請來進行處理。
如果是新程式Check In for New,開發人員把新程式FTP或Email給版本控制人員,版本控制人員在收到新程式後,Check In 到版本控制中心的VSS中;
如果是Check Out請求,版本控制人員把版本控制中心的VSS中相應的程式Check Out,並把這些程式發給開發人員,開發人員收到這些程式後,與自己修改過的程式相比較,合併自己改過的和這段時間其他人改過的地方成一個新版本;然後填寫Check In的申請單,把合併後的程式傳送版本控制人員。
在當日所有相關開發人員的新增和修改的程式提交以後,版本控制中心就可以對系統進行編譯了,測試人員就可以基於新的系統版本進行測試;如果編譯過程中出現錯誤,一般是由於開發人員遺漏了某些程式的Check in,或者在程式合併過程中出現混亂,造成其他人的修改過的地方被刪除掉了。
我公司是一個香港軟體公司,在香港、北京和深圳各有一個開發中心,三地正在合作開發一個大型的香港金融軟體專案,現在涉及到一個三地的版本控制和協同開發問題。首先由於客戶在香港,整個系統的整合和整體測試(IAT)、使用者測試(UAT)在香港開發中心來完成,那麼北京和深圳開發的程式要彙總到香港來進行編譯、整合,由於同一模組甚至同一程式在三地都可能同時修改,程式的Check in和Check out一定要嚴格控制,否則版本的一致性將會失控。另外程式還分成IAT測試環境、UAT測試環境、生產系統三個版本,分別管理系統在各生命週期的程式。
為了到達此目標,我們公司自己開發了一個小的配置管理軟體CMS(Configuration Management System) 用來進行版本控制。
首先各開發中心安裝自己的版本控制軟體VSS,在開發新功能或修改現有功能之前,從香港的版本控制部門通過郵件或FTP方式得到系統最新的原始碼、配置檔案,然後基於這個版本的進行程式開發。在進行單元測試正確後,要向版本控制中心進行程式提交,程式設計師通過HTTP方式登入香港版本控制中心的CMS系統進行登記。
程式開發人員在提交請求後,需要經過專案組長或主管的審批,審批人員在審批過程中主要檢查申請單填寫是否正確,是不是需要提交這些檔案,檔案路徑、名稱是否正確;版本控制人員根據這些提交申請來進行處理。
如果是新程式Check In for New,開發人員把新程式FTP或Email給版本控制人員,版本控制人員在收到新程式後,Check In 到版本控制中心的VSS中;
如果是Check Out請求,版本控制人員把版本控制中心的VSS中相應的程式Check Out,並把這些程式發給開發人員,開發人員收到這些程式後,與自己修改過的程式相比較,合併自己改過的和這段時間其他人改過的地方成一個新版本;然後填寫Check In的申請單,把合併後的程式傳送版本控制人員。
在當日所有相關開發人員的新增和修改的程式提交以後,版本控制中心就可以對系統進行編譯了,測試人員就可以基於新的系統版本進行測試;如果編譯過程中出現錯誤,一般是由於開發人員遺漏了某些程式的Check in,或者在程式合併過程中出現混亂,造成其他人的修改過的地方被刪除掉了。
系統在整合測試環境通過後,就可以提交給UAT環境了,UAT的提交一般為在香港開發中心的主管來決定,根據UAT的測試計劃,提交相關的程式功能給客戶進行測試,在填寫UAT程式提交單之前,先用比較工具,比較Testing和UAT環境中程式的差異,記錄需要更新到UAT的程式,填寫程式到UAT環境的申請單,處理流程同IAT測試環境,只不過不需要提交程式,程式可以直接從Testing環境複製到UAT環境。
雖然這種Check In 和Check Out的方式比較煩瑣,而且還有專門的版本控制人員來進行處理,但對版本控制提供了強有力的手段。希望能給遇到同樣問題的軟體專案管理人員提供參考。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14780914/viewspace-409903/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於多個開發中心開發同一軟體的配置管理(轉)
- 軟體配置管理——團隊開發的基石
- 基於複用的軟體開發過程中的配置管理
- 規範軟體開發過程——軟體配置管理實踐
- 開發軟體有多貴
- 分享個人用於開發相關的軟體/工具
- 軟體開發丨關於軟體重構的靈魂四問
- 關於Swap去中心化交易所繫統軟體開發(技術支援)中心化
- 軟體開發:app軟體開發,pc端軟體開發,微商城/小程式開發APP
- 自上而下的軟體開發和自下而上軟體開發
- 關於軟體專案開發的分析與設計
- 關於軟體開發你真正需要知道的幾個事情
- 軟體開發的人文關懷
- 關於軟體開發,很多老闆都不懂的 7 件事
- 關於軟體開發的一些常識和思考
- 多租戶軟體開發架構架構
- 開發軟體到底有多貴
- 軟體開發與軟體研發
- 關於SolaRoad持幣生息模式軟體開發方案模式
- 選擇軟體開發平臺,“快速開發”是關鍵
- 破除幾個有關軟體開發的錯誤觀念
- 基於構件的軟體開發的發展方向 (轉)
- 軟體開發的難
- 關於大搜車「無線開發中心」團隊
- 軟體開發新模式:敏捷開發模式敏捷
- 團隊軟體開發_基於windows下截圖軟體關於NABC框架的特點Windows框架
- 關於Opensea交易平臺模式軟體開發原始碼方案模式原始碼
- 關於合約跟單交易所模式軟體開發模式
- 軟體開發中關注習慣的力量
- 建立快速響應軟體開發的四個關鍵 - Andy Hunt
- 基於快速失敗的軟體開發 - levelup
- 基於gin的golang web開發:中介軟體GolangWeb
- 關於微信開發
- 商城軟體開發、開發商城小程式的好處-北京銳智互動軟體開發
- 關於軟體開發,你老闆不知道的7件事
- 介紹一個軟體開發工具
- 軟體開發模式模式
- 軟體開發之道