2011-11-07 29 views
2

我有一個工作第谷建立一個生產工作P2存儲庫。我目前的工作流程是手動將此構建的結果從項目的目標目錄拖放到託管p2存儲庫的Web服務器。我的第谷編譯的結果看起來正常:如何部署第谷P2存儲庫的結果建立到本地文件系統上的位置或本地維護的P2存儲庫

${projectBaseDir}/target/repository 
    - features 
      - com.my.product.feature.201111071414.jar 
    - plugins 
      - com.my.product.plugins 
    - artifacts.jar 
    - content.jar 

那麼,什麼是「行業標準」採取這一構建的結果在倉庫中的目錄,並把它們在Web服務器上。

在這種情況下,我正在運行構建服務器在同一臺機器上的P2存儲庫的網絡服務器,所以一個簡單的複製到一個目錄命令會工作。複製的資源,沒有運氣:

我使用的資源嘗試了Maven的資源的插件。我不斷收到有關無效輸出目錄的錯誤。我不覺得自己真的要複製的資源是去這裏的路上,因爲這一目標的一般用途是文件複製到你的 Maven構建的目標目錄,而不是從目標目錄中的文件複製的maven構建。

我的任務看似簡單,我知道有很多的選擇複製文件,但是我正在尋找的「Maven的方式」或更好,但這樣做的「第谷的方式」。如果存在這樣的標準。

感謝, TW

回答

2

你可以達到你想要與antrun插件什麼。它允許您在Maven構建期間使用ant任務/目標(如複製文件)來執行任務。

我期待像下面會爲你工作:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.6</version> 
    <executions> 
     <execution> 
     <id>configFix</id> 
     <phase>package</phase> 
     <configuration> 
      <target name="configFix"> 
       <copy file="${project.build.directory}/p2/some.file" todir="C:\My\Directory" overwrite="true"> 
       </copy> 
      </target> 
     </configuration> 
     <goals> 
      <goal>run</goal> 
     </goals> 
     </execution> 
    </executions> 
</plugin> 
1

有密涅瓦的example如何發佈信息庫。

+0

這就是我害怕的。我正在做與使用我的p2repository構建工件的Hudson/Jenkins構建相同的事情。但是,目前,我沒有使用cron作業來將p2repository推送到更新站點。我希望避免cron工作,而是找到內置於Tycho或Maven的東西。看起來好像這個功能還沒有。 – twindham

+0

我認爲它超出了第谷的範圍。您可以找到Maven的一些插件以任何方式(例如scp,ftp)將工件部署到任何位置(公司內部或外部的服務器)。 – Kane