[英]Jenkins building for different environments
我目前在開發框上安裝了Jenkins實例。 這種構建很好,並且可以毫無問題地部署到我們的開發環境中。
在構建過程中,我的項目使用一個包含詳細信息的屬性文件,例如數據庫連接URL(這些細節顯然會因我指向的環境而異)。
我想知道的是,配置項目的最佳方法是什么,以便當我想要發布到Production時,Jenkins構建的WAR文件包含Production屬性而不是Development?
(注意我也在我的項目中使用Maven)。
我知道3種選擇:
我們過去使用過maven.-profiles,但它們的缺點是maven的release-plugin不能用於配置文件,所以我們不得不手動更改版本而無法將文件部署到像nexus這樣的遠程存儲庫。
另一個選項是mavens assembly-plugin。 據我所知,這可以與release-plugin一起使用。
我們決定編寫一個簡單的工具,在maven-build過程之后更改war文件。 它分開運行Jenkins-Job。 理念是,構建和配置是兩個單獨的步驟。 從maven中傳出的工件總是處於默認配置狀態。 如果我們需要生產版本的配置,我們會啟動一個jenkins作業來完成war文件的配置。
你可以創建不同的maven配置文件,比如dev
, prod
,然后在配置文件設置中,使用/過濾相應的資源文件,如.../(dev|test|prod)/project.properties
和Jenkins,當你構建不同的平台,使用-Pdev or -Pprod
構建以獲得正確目標的戰爭。
您可能需要檢查maven配置文件,maven資源過濾以獲取詳細配置。
不相關的東西,如果可能的話,通過jndi連接數據庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.