簡體   English   中英

詹金斯為不同的環境建設

[英]Jenkins building for different environments

我目前在開發框上安裝了Jenkins實例。 這種構建很好,並且可以毫無問題地部署到我們的開發環境中。

在構建過程中,我的項目使用一個包含詳細信息的屬性文件,例如數據庫連接URL(這些細節顯然會因我指向的環境而異)。

我想知道的是,配置項目的最佳方法是什么,以便當我想要發布到Production時,Jenkins構建的WAR文件包含Production屬性而不是Development?

(注意我也在我的項目中使用Maven)。

我知道3種選擇:

  1. 我們過去使用過maven.-profiles,但它們的缺點是maven的release-plugin不能用於配置文件,所以我們不得不手動更改版本而無法將文件部署到像nexus這樣的遠程存儲庫。

  2. 另一個選項是mavens assembly-plugin。 據我所知,這可以與release-plugin一起使用。

  3. 我們決定編寫一個簡單的工具,在maven-build過程之后更改war文件。 它分開運行Jenkins-Job。 理念是,構建和配置是兩個單獨的步驟。 從maven中傳出的工件總是處於默認配置狀態。 如果我們需要生產版本的配置,我們會啟動一個jenkins作業來完成war文件的配置。

你可以創建不同的maven配置文件,比如devprod ,然后在配置文件設置中,使用/過濾相應的資源文件,如.../(dev|test|prod)/project.properties和Jenkins,當你構建不同的平台,使用-Pdev or -Pprod構建以獲得正確目標的戰爭。

您可能需要檢查maven配置文件,maven資源過濾以獲取詳細配置。

不相關的東西,如果可能的話,通過jndi連接數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM