程序員應該用到的配置管理

 程序員應該用到的配置管理(2013-06-05 10:52:26)
標籤: 

it

 

配置管理

 

軟件工程

 

團隊

分類: 軟件開發技術
1、前言
    在軟件開發、軟件系統維護項目實施過程中,經常聽到開發人員、維護人員抱怨,開發代碼混亂、部署代碼不一致等問題。
    這些問題屬於配置管理範疇,也是開發人員參與造成的問題,也是管理、工具使用、配置技術協同脫節問題。
    在此只是介紹開發人員應具備的配置管理方面的知識和技術,並要求開發人員按配置管理規範執行,特別在雲技術應用開發項目中,團隊開發要求更高。

2、團隊開發理想模型案例
  在流程服務平臺中提供了非常完整的7套開發環境測試部署管理環境,各個環境可以按不同的許可進行單獨部署安裝,可用於不同階段進行開發、測試與部署管理:
  離線環境:提供離線環境,開發人員基於流程服務虛擬機環境進行開發,所有開發工程文件保存在個人的電腦中。
  在線環境:開發人員通過SNV同步離線環境中的工程文件到在線環境進行集中測試。
  SIT環境:開發人員通過SVN同步在線環境中的工程文件到SIT環境進行集成測試
  UAT環境:在用戶接受度環境測試中需要將應用打包成CAP包,並直接發佈運行時的CAP流程應用包,進行用戶可用性測試
  準生產環境:發佈CAP流程應用包,進行準生產環境測試
  生產環境:發佈經過充分測試的CAP流程應用包到正式生產環境
在線開發工具:在生產境中,各租戶提供在線的開發工具,對各租戶的開發管理員可以基於瀏覽器進行個性化的流程應用定製開發、測試及部署功能。

程序員應該用到的配置管理

3、實際團隊開發環境與配置庫
3.1、開發環境
    考慮開發、實施的可操作性、經濟性,把環境簡化爲最低要求,只有:開發環境、測試環境和生產環境。開發、測試、生產環境部署都是圍繞着配置管理服務進行開發管理的。
程序員應該用到的配置管理


3.2、配置管理庫
程序員應該用到的配置管理
    配置庫以SVN爲例,一級目錄包括:trunk、branches、tags。
    其中trunk是主幹,也就是開發庫,存放日常的文檔和代碼,branches是分支,存放爲不同用戶定製的不同版本,tags是基線庫,用打TAG的方式,以TAG名稱作爲目錄名稱。
    Svn的branhces和tags本質沒有區別,都是通過svn copy方式建立的。

4、開發實施過程與配置庫
4.1、開發實施過程與配置庫關係
程序員應該用到的配置管理
    測試環境理論上與生產環境保持一致,至少應用、數據模型版本上保持一致;
    開發環境也儘量與生產環境保持一致,如果不一致,而且影響新應用的開發,則卸載不一致內容(保存到配置庫)。

4.2、分支開發管理過程
程序員應該用到的配置管理
    每次變更/新需求將產生分支開發,此分支開發過程圍繞着分支進行,在上線時與主幹合併後發佈。

5、配置管理跟蹤記錄
    作爲程序員,除了日常代碼提交到配置庫、相互間協作外,還應重點關注如下操作:
    1、源代碼檢出/或工程檢出(從哪兒檢出、檢出哪個版本、這些版本定義說明在哪裏?);
    2、代碼合併處理(可能不進行具體操作,但必須有此過程);
    3、源代碼入庫(入庫申請、配置管理員審計);
    4、配合配置管理員形成基線(或臨時基線)。

6、生產環境變更管理
6.1、管理規則
    1、工作時間不允許在生產環境進行測試活動(包括功能測試、性能測試);
    2、工作時間不允許在生產環境進行數據遷移活動(包括格式化數據、非格式化數據);
    3、原則上工作時間不允許進行發佈平臺應用、修改配置參數活動。對於爲保證系統業務持續性而必須在工作時間進行的緊急發佈,必須得到PM的郵件確認;
    4、各開發組(或廠商)的上線活動、數據變更活動需要經過PM及CCB的審批才能進行。廠商需根據其發佈/變更內容提供測試報告、變更影響分析說明文檔;
    5、一般情況下,變更定期發佈,例如定期在週四晚上發佈變更應用,其他時間原則不發佈變更;
    6、系統組、運維組應定期修改數據庫、操作系統用戶/口令/權限。至少每3個月修改一次。
6.2、生產環境變更管理流程
程序員應該用到的配置管理
    1、CCB由PM、發佈單負責人、系統組長、運維組長、平臺SA、實施組長組成;
    2、緊急變更需要由PM審批;其它變更活動由CCB、PM及廠商共同評審;
    3、Owner負責牽頭準備變更方案:包括變更影響範圍、變更實施步驟、回滾方案、以及對其它廠商/運維組/系統組/實施組的配合要求。特別對於上線性能測試,在變更方案中要明確性能指標、測試場景、測試用例、測試腳本、測試步驟等內容。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章