當我想發佈時,我如何讓開發人員隱藏東西?在maven中發佈時的私人構建信息(db等)?
例如 - 當發佈的時候,我要創建一個休眠會話,其中包含不同的設置 - 在生活環境中運行的數據庫的設置。
如何在maven-release期間指定這些內容,使其他人不可見?
我在想也許命令行建設時,設置某種屬性?這通常是如何在企業場景中完成的?
當我想發佈時,我如何讓開發人員隱藏東西?在maven中發佈時的私人構建信息(db等)?
例如 - 當發佈的時候,我要創建一個休眠會話,其中包含不同的設置 - 在生活環境中運行的數據庫的設置。
如何在maven-release期間指定這些內容,使其他人不可見?
我在想也許命令行建設時,設置某種屬性?這通常是如何在企業場景中完成的?
您可以爲您的Dev,QA和Release環境定義一個單獨的maven profiles,這些環境可以使用-P選項調用到mvn命令。以下是需要列入pom.xml
一些示例配置文件片段:
<properties>
<hostEnv>QA</hostEnv>
<hostDB>oracle</hostDB>
</properties>
<profiles>
<profile>
<id>${hostEnv}-${hostDB}</id>
<activation>
<activeByDefault>true</activeByDefault>
...
</activation>
</profile>
</profiles>
事情是這樣的密碼等屬於settings.xml的,而不是到pom.xml文件。此外,我會建議把這樣的東西放到像Jenkins這樣的連續集成服務器上的settings.xml文件中。只有在構建機器上纔可以防止其他人意外地創建版本。
我遠離activeByDefault - 但 - 我能加密我用密碼字段加入maven pw加密的內容嗎? – 2012-03-14 08:18:48
你可以使用一些可以在maven-antrun-plugin幫助下調用的ant腳本來加密密碼 – 2012-03-14 08:24:08