老河口市建设局网站,廊坊seo优化公司,营销一型网站建设公司,wordpress中文主题排行榜gradle使用maven得益于在2018年和2019年末实现的显式登台存储库创建功能集#xff0c;使您#xff08;自动#xff09;从Travis#xff08;不仅是#xff09;发布到Maven Central更加可靠。 背景 如果您仅想获取有关如何使工件从Travis发行的信息更可靠的信息#xff0c… gradle使用maven 得益于在2018年和2019年末实现的显式登台存储库创建功能集使您自动从Travis不仅是发布到Maven Central更加可靠。 背景 如果您仅想获取有关如何使工件从Travis发行的信息更可靠的信息请前进至另一部分。 从Gradle到Maven Central的自动工件发布使用暂存库及其升级一直很棘手。 与这些操作相关的Nexus REST API的文档非常少。 此外Gradle本机不支持将工件上传到专用的登台存储库即使它已经显式创建。 结果必须使用启发式方法来确定哪个存储库仅包含上载的工件这带来了一些严重的限制。 问题的根源是Travis在2018年秋末将其架构更改为更加无状态。这导致对特定工件的上载请求通过具有不同 IP地址的机器进行路由从而导致为单个数据库创建多个陈述式存储库gradle uploadArchives或gradle publish调用。 这使得Travis的Gradle自动释放伪像的工作彻底中断了。 直到现在。 改进措施 年末发生了两件事。 首先是Marc Philipp 发布的新的nexus-publish插件。 它使用Nexus API创建了一个明确的登台存储库并增强了Gradle发布任务以使用该存储库。 第二件事是对我的gradle-nexus-staging插件进行了增强该插件开始允许设置在发布操作期间应使用的登台存储库ID。 从而提高了使用Gradle发布到Maven Central的可靠性。 无需依靠启发式方法确定应使用哪个存储库进行发布而是显式创建了新的登台存储库。 工件直接上传到它它已关闭并释放。 因此一切都变得更加流畅并且更加防错。 此外并行发布属于同一暂存配置文件的不同项目没有问题并且最终可以与Travis再次正常使用。 组态 这篇文章假设您已经配置了使用maven-publish插件将工件上传到Maven Central又名The Central Repository。 如果没有您可以查阅此链接 。 此配置将使您的部署和发布更加可靠而无需在Nexus UI中进行任何手动操作。 plugins { ... //other plugins used in your project id io.codearte.nexus-staging version 0.20.0 id de.marcphilipp.nexus-publish version 0.2.0 } publishing { ... //your current publishing to Maven Central configuration } //optionally nexusStaging { packageGroup your-package-group-if-different-than-groupId } //optionally nexusPublishing { //for custom configuration if needed - credentials are by default taken from nexus-staging } 您期望编写更多代码配置吗 一切都隐藏在相互利用的插件中。 请记住使用nexus-staging 0.20.0和nexus-publish 0.2.0。 之后发布和发布工件就只需一个命令 . /gradlew publishToNexus closeAndReleaseRepository 不是publish 而是使用publishToNexus任务该任务用于设置登台存储库ID和closeAndReleaseRepository 用于关闭和释放该特定存储库。 几分钟后您的工件应在Maven Central中可用。 重要的 。 请记住必须在一个Gradle执行中使用publishToNexus和closeAndReleaseRepository 才能利用显式创建的登台存储库。 摘要 Gradle是一个非常不错的构建工具其中几乎天空是极限。 不幸的是仍然存在一些长期存在的问题需要使用一些技巧或编写自定义插件来克服它们。 有希望的是随着每个发行版的发布它们都将被缓慢地修复/ 实施 。 为了解决该特定问题需要进行自下而上的工作以将Travis的释放恢复正常并且更加可靠。 请注意 。 所介绍的方法非常适合使用最近改进的发布插件。 如果您仍然使用旧的maven插件具有uploadArchives任务而不是publish任务则需要迁移和/或在相应的问题中添加评论。 翻译自: https://www.javacodegeeks.com/2019/02/releasing-maven-central-travis-gradle.htmlgradle使用maven