2013-07-12 32 views
1

我正在建立一個持續集成系統,它工作得很好。這是它目前的樣子

Tomcat7 with 
|- Sonar 
|- Jenkins (latest LTS version) 
| |- Maven Build 
|  | - mvn clean install 
|  | - mvn site-deploy 
|  | - sonar analysis 
|- Site for the Maven Build 

這使得工作構建包括通過tomcat的服務的mvn site結果。

然而,推動網站的報告到正確的位置在tomcat中只有因爲我在pom.xml硬編碼file://path/to/tomcat/webapps/site/

工作
<distributionManagement> 
    <site> 
     <id>local</id> 
     <name>local</name> 
     <url>file://path/to/tomcat/webapps/site/</url> 
    </site> 
</distributionManagement> 

問題:
這嚴重夫婦行家配置到CI服務器上的tomcat位置,我認爲這應該被規避。

問題1:
我可以採用某種$ CATALINA_HOME傳遞給詹金斯推出相應的maven任務?

問題2:
有可能用於提供該網站的報告,最好在不安裝獨立的Web服務器更好的辦法?

回答

0

我終於找到了解決這個問題的辦法。

問題1: 我打得四處在詹金斯提供給行家作業的設置了一下,發現它確實有可能只是傳遞${CATALINA_HOME}這將隨後詹金斯進行擴展。

但是,該系統安裝在Windows機器上,並且${CATALINA_HOME}路徑中的反斜槓似乎被吞噬,因此這不起作用。

解決方案:

  • Tomcat中的sentenv.bat

    我添加:

    set SITE=C:/Program Files/apache-tomcat-7.0.42/webapps/site 
    
  • 在POM中的相應部分是:

    <distributionManagement> 
        <site> 
        <id>local</id> 
        <name>local</name> 
        <url>file://${local.site.dir}/RIAS/</url> 
        </site> 
    </distributionManagement> 
    
  • 作業中jenkins然後結合t他兩次與: enter image description here

這些 「屬性」,然後傳遞到Maven -Dlocal.site.dir=<resolved expression>

結論:
在Linux系統上設置額外的$ {SITE}似乎是多餘的。一旦吞噬反斜槓消失,窗戶系統也是如此。不幸的是,我不知道吞嚥發生在哪個地方。

此外,這將CI系統的配置從pom中的規範中分離出來。

任何進一步的討論和意見,並歡迎。

相關問題