2011-11-07 30 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