通过maven构建优化工件的生成

通过maven构建优化工件的生成,maven,teamcity,artifactory,artifacts,Maven,Teamcity,Artifactory,Artifacts,我们有一个分层的大项目,里面有小项目,即使用maven构建,然后将工件发布到工件库中。此过程由teamcity运行自动化。此运行需要很长时间来构建工件并发布到存储库,因为所有工件都会重新生成和重新发布 我想知道,是否可以将maven设置为只构建其关联文件在生成该工件后被修改的工件。我相信这可以在机器上节省更多的时间和成本来构建我们的代码库。 我很想知道你的经验和可能的解决办法 虽然我知道,这个任务可以通过只构建修改过的特定项目来手动完成。我们是否有maven的任何明智的规定来做到这一点。首先,多

我们有一个分层的大项目,里面有小项目,即使用maven构建,然后将工件发布到工件库中。此过程由teamcity运行自动化。此运行需要很长时间来构建工件并发布到存储库,因为所有工件都会重新生成和重新发布

我想知道,是否可以将maven设置为只构建其关联文件在生成该工件后被修改的工件。我相信这可以在机器上节省更多的时间和成本来构建我们的代码库。 我很想知道你的经验和可能的解决办法


虽然我知道,这个任务可以通过只构建修改过的特定项目来手动完成。我们是否有maven的任何明智的规定来做到这一点。

首先,多长是多长?你们有多少个模块?将所有这些工件上载到存储库管理器需要多长时间?这句话:
此运行需要很长时间来构建工件并发布到存储库,因为所有工件都会重新生成并重新发布
我不明白?您使用的是哪种Maven版本?几乎需要3个小时,模块大约有200个。我们使用的是ApacheMaven 3.0.4。只有200个模块,需要3个小时……您正在运行多少测试……您能给出大约多少行代码(可能基于SonarQube?)……上传到Artifactory需要多长时间?我正在做一个有420个模块(6500个测试)的项目,花了15分钟…你使用并行构建吗?我们几乎有(4500个测试),没有,构建不是并行的,因为模块有依赖关系(这是一个主要问题)但当然,这就是当时的项目架构。具有依赖关系的模块是默认的,但不是不并行化的理由…使用类似这样的东西:
mvn-t4…
…如果我使用单线程构建,它将使构建时间大约为40-45分钟…除此之外,TeamCity可以选择仅更改构建Jenkins拥有的模块(增量模块)…我建议您检查您的基础设施…因为它听起来很慢…测量您的构建上传到artifactory等的时间。您使用普通的maven构建还是使用maven bundle插件等插件?首先多长?你们有多少个模块?将所有这些工件上载到存储库管理器需要多长时间?这句话:
此运行需要很长时间来构建工件并发布到存储库,因为所有工件都会重新生成并重新发布
我不明白?您使用的是哪种Maven版本?几乎需要3个小时,模块大约有200个。我们使用的是ApacheMaven 3.0.4。只有200个模块,需要3个小时……您正在运行多少测试……您能给出大约多少行代码(可能基于SonarQube?)……上传到Artifactory需要多长时间?我正在做一个有420个模块(6500个测试)的项目,花了15分钟…你使用并行构建吗?我们几乎有(4500个测试),没有,构建不是并行的,因为模块有依赖关系(这是一个主要问题)但当然,这就是当时的项目架构。具有依赖关系的模块是默认的,但不是不并行化的理由…使用类似这样的东西:
mvn-t4…
…如果我使用单线程构建,它将使构建时间大约为40-45分钟…除此之外,TeamCity可以选择仅更改构建Jenkins拥有的模块(增量模块)…我建议您检查您的基础设施…因为它听起来很慢…测量您的构建上传到artifactory等的时间。您使用普通的maven构建还是使用maven bundle插件等插件?