2011-08-25 114 views
1

我们使用Jenkins作为我们的构建服务器。我们有一个由Eclipse插件构建的项目,一个核心项目和其他几个插件。在Jenkins上构建核心并使用Sonar就相对较为困难。如何自动将多个Eclipse插件项目构建为一个Jenkins项目?

现在我们要创建一个Jenkins构建,其中整个项目由Sonar自动构建和测试。互联网研究表明将包装更改为“pom”,这是无法完成的,因为Tycho插件需要将包装设置为“eclipse-plugin”。

我们在做什么错了,你如何在Jenkins设置这样的项目?

如果需要任何其他信息,请告诉。

回答

1

您应该创建一个包含pom包装的“伞”Maven项目,并使该聚合器的所有其他项目模块。此外,整个项目组需要作为单一实体从您的SCM工具中访问。如果您使用的是Subversion,那么可以通过svn:externals轻松实现,其他工具我怀疑您必须更改您的配置。我建议你也检查一下是否有任何Jenkins plugins可能有帮助。

0

对于git,您可以使用submodules功能实现与svn:externals相同的功能。例如见Mylyn的,这可能接近你想什么来实现:

git clone git://git.eclipse.org/gitroot/mylyn/org.eclipse.mylyn.git 
0

鉴于这个例子中的目录布局:

+ParentDir 
-pom.xml 
    +ProjectA 
    -pom.xml 
    +ProjectB 
    +SubDirB 
    -pom.xml 

在ParentDir pom.xml的内容应包括以下内容:

<packaging>pom</packaging> 
<modules> 
    <module>ProjectA/pom.xml</module> 
    <module>ProjectB/SubDirB/pom.xml</module> 
</modules> 

当您在此顶层POM上调用Maven时,它会将ProjectA和ProjectB添加到要构建的反应器列表中。

这可以适用于类似的项目,并且<module>标签接受相对路径,例如../../SomeProject/pom.xml

相关问题