嘿嘿
我有一个与这个结构的Maven项目:
父母:
因此,首先运行父模块,然后运行构建api的模块,然后运行依赖api的模块,然后运行包含要测试的工具的测试模块,最后运行组装/发行版,其中打包一些归档中的模块。由于某些问题,我无法真正改变方法,并且到目前为止效果很好。
使用詹金斯,我将其发布到了Maven仓库中,但是我只想发布例如API和一些模块,而不是测试模块和分发模块。有没有办法跳过它们?不想发布我真正不需要的东西:/
为了正确理解您,您仍然想要运行测试模块,但是您不想部署/发布它们。在Maven的部署,插件来救援!至工件仍将构建,但不会部署。
<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
由于默认目标是deploy和site,所以一切正常。
deploy
site
只要确保您scm在根pom中有一个标签即可:
scm
<scm> <connection>scm:svn|git:https://...</connection> <developerConnection>scm:svn|git:https://...</developerConnection> </scm>
并且您的版本控制工具命令(git,svn,…)在PATH上可用。