Heyho
我有一个maven项目有这个scructure:
家长:
因此,我首先运行父模块,然后运行构建api的模块,然后运行依赖于api的模块,然后运行包含测试工具的测试模块,最后运行一个组装/分发程序,将一些模块打包到存档中。由于一些问题,我不能真正改变方式,它的工作到目前为止的完美。
使用jenkins,我将其发布给maven repo,但我只想发布API和一些模块,而不是测试模块和分发模块。有办法跳过吗?不想发布我不需要的东西
发布于 2013-01-12 19:52:55
为了正确理解您,您仍然希望运行测试模块,但您不希望部署/释放它们。maven-deploy-plugin去营救了!到工件仍将被建造,但未部署。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>然而,jenkins发布插件仍将发布所有工件。与其使用jenkins发布插件,不如考虑使用maven-release-plugin发布,这很容易做到:
mvn release:prepare
mvn release:perform因为default goals是deploy和site,所以一切都应该是正常的。
只需确保根pom中有一个scm标记:
<scm>
<connection>scm:svn|git:https://...</connection>
<developerConnection>scm:svn|git:https://...</developerConnection>
</scm>并且您的版本控制工具命令(git,svn,.)在路径上是可用的。
发布于 2013-01-13 00:12:23
您可以添加一个maven命令行选项来指定在jenkins中构建的模块。
-pl,--projects <arg> Comma-delimited list of specified
reactor projects to build instead
of all projects. A project can be
specified by [groupId]:artifactId
or by its relative path.发布于 2013-01-14 13:06:03
聚合器项目的目的是将简单项目的建筑需求结合起来。如果您的基本项目有不同的构建要求,请考虑添加一个新的聚合器项目。
禁用部署到当前聚合器项目中的Maven存储库,并创建一个只包含希望部署的模块的新聚合器项目。
将这个新项目添加到Jenkins,使其依赖于原始项目,并将其配置为部署到您的存储库中。
https://stackoverflow.com/questions/14296170
复制相似问题