持續集成中多部署環境自動配置的實現

在持續集成過程中,對於多部署環境的配置時常會讓發佈人員異常頭疼。很多情況下是先發布後手動修改,這種方式嚴重限制了持續集成自動化的特點;另外一種高級的辦法是讓ant在編譯過程中排除制定配置,這種辦法保留了持續集成的自動化特點,無需依賴人工干預,但在測試、準生產環境配置變更較頻繁的情況下,仍對自動化發佈造成影響。

爲了解決上述問題,本人採用了ant編譯過程中動態傳入參數來控制選取不同配置文件的方式,方法很簡單,詳情如下:

①讓步署環境敏感的配置文件與部署環境一一對應

②ant編譯過程中傳入環境參數

③ant根據環境參數選取不同配置文件編譯到發佈程序中

以javaWEB程序舉例,某project:acms與部署環境敏感的配置文件爲src/datasource.properties


部署環境有三個:開發、測試(test)、生產(prod),根據三個環境分別生成對應配置文件(默認爲開發,避免開發人員修改配置文件debug)


定義變量deployenv,默認爲測試環境(test)


<!-- 部署環境 -->  
<property name="deployenv" value="test"/>


③將與部署環境對應的配置文件拷貝至WebContent/WEB-INF/classes下,再將其重命名爲datasource.properties文件

     <!-- 根據部署環境,拷貝對應數據庫配置到classes -->


    <echo message="deployenv:${deployenv}"/>
        <copy todir="WebContent/WEB-INF/classes" file="src/datasource_${deployenv}.properties"/> 
        <move file="WebContent/WEB-INF/classes/datasource_${deployenv}.properties" tofile="WebContent/WEB-INF/classes/datasource.properties"/>


④本項目使用hudson作爲持續集成工具,配置ant properties傳入參數


至此即可完成對於project:acms的多部署環境持續集成的自動化進行。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章