2012-03-14 41 views
0

當我想發佈時,我如何讓開發人員隱藏東西?在maven中發佈時的私人構建信息(db等)?

例如 - 當發佈的時候,我要創建一個休眠會話,其中包含不同的設置 - 在生活環境中運行的數據庫的設置。

如何在maven-release期間指定這些內容,使其他人不可見?

我在想也許命令行建設時,設置某種屬性?這通常是如何在企業場景中完成的?

回答

0

您可以爲您的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> 
+0

我遠離activeByDefault - 但 - 我能加密我用密碼字段加入maven pw加密的內容嗎? – 2012-03-14 08:18:48

+0

你可以使用一些可以在maven-antrun-plugin幫助下調用的ant腳本來加密密碼 – 2012-03-14 08:24:08

0

事情是這樣的密碼等屬於settings.xml的,而不是到pom.xml文件。此外,我會建議把這樣的東西放到像Jenkins這樣的連續集成服務器上的settings.xml文件中。只有在構建機器上纔可以防止其他人意外地創建版本。