我们使用Jenkins作为构建服务器。我们有一个由Eclipse Plug-Ins构建的项目,一个核心项目和其他几个插件。在Jenkins上构建Core并在其上使用Sonar是相对的。
现在我们要创建一个Jenkins构建,其中整个项目由Sonar自动构建和测试。互联网研究显示将包装改为“pom”,这是无法做到的,因为Tycho插件需要将包装设置为“eclipse-plugin”。
我们做错了什么,你如何在Jenkins中设置这样的项目?
如果需要任何其他信息,请告诉我们。
答案 0 :(得分:1)
您应该使用pom
打包创建一个“伞形”Maven项目,并制作此聚合器的所有其他项目模块。此外,整个项目组需要作为单个实体从您的SCM工具访问。如果您使用Subversion,可以通过svn:externals
轻松实现,我怀疑您必须更改配置。我建议您查看是否有任何可能有帮助的Jenkins plugins。
答案 1 :(得分:0)
对于git,您可以使用submodules功能实现与svn:externals相同的功能。例如,参见mylyn,它可能接近你想要实现的目标:
git clone git://git.eclipse.org/gitroot/mylyn/org.eclipse.mylyn.git
答案 2 :(得分: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添加到要构建的reactor列表中。
这可以适用于类似的项目,<module>
标记可以接受相对路径,例如../../SomeProject/pom.xml
。