如何将 Maven Release Plugin 与 Nexus Staging Plugin 相结合?
How to combine the Maven Release Plugin with Nexus Staging Plugin?
我正在向 Maven Central 发布一个开源项目,我想将 Maven Release Plugin 与 Nexus Staging Plugin,但不知道如何。
Maven 发布插件执行我需要的一切:
- git 检查,
- git 存储库标签,
- git 下一次迭代版本控制,
- 退房,
- 构建,
- deploy, (<-- 这是我要更改的那个)
- 和git分支还原。
所有这些自动化意味着我可以使用单个命令行执行发布。太棒了
这里唯一需要注意的是上面的部署任务 只是将 JAR 交付 到 Maven Central Repository,而不是发布它们。我还需要登录Maven Central网站,找到release,点击"Close"...等几分钟...还没有准备好...等几分钟...再检查……哦,准备好了……终于点击"Release"。我不喜欢这种手动的、容易出错的任务。
另一方面,Nexus Staging 插件会自动执行 "Close" + "Release"。但是,它不会执行任何其他操作,例如上述步骤列表。
有什么方法可以将上面的 "deploy" 部分替换为 "Nexus Staging Plugin" 吗?
我真傻。令人难以置信的是,当您完成提出问题的过程时,您离答案有多近。
解决方案非常简单。只需将 Nexus Staging 插件添加到 pom.xml 即可自动替换默认的 "deploy" 步骤。
这是我的 pom.xml Nexus 暂存插件部分:
<!-- Nexus Staging -->
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.7</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
如您所见,没什么特别的。有了这个,调用 Maven Release Plugin 会自动使用 Nexus Staging Plugin,而不是默认部署。
$ mvn -B release:prepare && mvn release:perform
全程自动化:Git一次发布+Maven Central发布
干杯!
我正在向 Maven Central 发布一个开源项目,我想将 Maven Release Plugin 与 Nexus Staging Plugin,但不知道如何。
Maven 发布插件执行我需要的一切:
- git 检查,
- git 存储库标签,
- git 下一次迭代版本控制,
- 退房,
- 构建,
- deploy, (<-- 这是我要更改的那个)
- 和git分支还原。
所有这些自动化意味着我可以使用单个命令行执行发布。太棒了
这里唯一需要注意的是上面的部署任务 只是将 JAR 交付 到 Maven Central Repository,而不是发布它们。我还需要登录Maven Central网站,找到release,点击"Close"...等几分钟...还没有准备好...等几分钟...再检查……哦,准备好了……终于点击"Release"。我不喜欢这种手动的、容易出错的任务。
另一方面,Nexus Staging 插件会自动执行 "Close" + "Release"。但是,它不会执行任何其他操作,例如上述步骤列表。
有什么方法可以将上面的 "deploy" 部分替换为 "Nexus Staging Plugin" 吗?
我真傻。令人难以置信的是,当您完成提出问题的过程时,您离答案有多近。
解决方案非常简单。只需将 Nexus Staging 插件添加到 pom.xml 即可自动替换默认的 "deploy" 步骤。
这是我的 pom.xml Nexus 暂存插件部分:
<!-- Nexus Staging -->
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.7</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
如您所见,没什么特别的。有了这个,调用 Maven Release Plugin 会自动使用 Nexus Staging Plugin,而不是默认部署。
$ mvn -B release:prepare && mvn release:perform
全程自动化:Git一次发布+Maven Central发布
干杯!