The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:
当我发布一个新版本的Java开源库jcabi-aspects到Maven Central时,只需要花费我30秒的时间。甚至可能更少。最近,我发布了0.17.2版本。您可以在GitHub问题#80中看到整个过程:
如您所见,我给Rultor发送了一个命令,它就将新版本发布到了Maven Central。我没有做其他任何事情。
现在让我们看看您如何做同样的事情。您如何配置您的项目,使其发布新版本到Maven Central只需要花费几秒钟的时间。
顺便说一下,我假设您将项目托管在GitHub上。如果不是这样,整个教程将无法使用。如果您还没有在GitHub上托管项目,我强烈建议您迁移到那里。
请确保您的 pom.xml
包含了 Sonatype 所需的所有元素,这些元素在 Central Sync Requirements 中有详细说明。我们将部署到 Sonatype,他们将会将所有的 JAR(以及其他)构件同步到 Maven Central。
在Sonatype JIRA创建一个账号并提出一个工单,请求批准您的groupId
。这个OSSRH Guide会更详细地解释这个步骤。
根据这篇使用PGP签名的文章,创建并分发一个GPG密钥。
完成这一步骤后,您应该会得到两个文件:pubring.gpg
和secring.gpg
。
在前一步创建的两个.gpg
文件旁边创建settings.xml
文件。
在这个示例中,9A105525
是您的公钥的ID,而 my-secret
是您在生成密钥时使用的密码短语。
现在,使用rultor remote加密这三个文件。
请使用您的GitHub项目名称,而不是me/test
。
您将获得三个新文件:pubring.gpg.asc
、secring.gpg.asc
和settings.xml.asc
。将它们添加到您的项目的根目录中,提交并推送。这些文件包含您的秘密信息,但只有Rultor服务器可以解密。
我建议您在项目中使用jcabi-parent作为父POM。这样可以避免许多进一步的步骤。如果您正在使用jcabi-parent,请跳过此步骤。
然而,如果您没有使用jcabi-parent,您应该将以下两个仓库添加到您的pom.xml
文件中:
Configure GPG Plugin
再次,我建议使用jcabi-parent,它可以自动配置此插件。如果您正在使用它,请跳过此步骤。
否则,请将此插件添加到您的pom.xml
文件中。
Configure Versions Plugin
再次推荐使用http://parent.jcabi.com。它可以自动配置所有所需的插件。如果你正在使用它,请跳过此步骤。
否则,请将此插件添加到你的pom.xml
文件中:
Configure Sonatype Plugin
是的,你说得对,http://parent.jcabi.com 在这里也可以帮到你。如果你已经在使用它,也可以跳过这一步。
否则,请将以下四个插件添加到你的 pom.xml
文件中:
Create Rultor Configuration
在您的项目的根目录中创建一个.rultor.yml
文件(参考页面详细解释了此格式)。
你可以将你的文件与jcabi-aspects的实时Rultor配置进行比较(链接)。
现在是时候看看它是如何工作的了。在GitHub问题跟踪器中创建一个新的票据,并将类似以下内容的内容发布到其中(阅读有关Rultor命令的更多信息):
您将在几秒钟内收到回复。其余的工作将由Rultor完成。
顺便说一下,如果有什么不按照我所解释的方式工作的问题,请毫不犹豫地提交一个工单到Rultor问题跟踪器。我会尽力帮助你。
是的,我忘了提一下,Rultor还有两个重要的功能。首先,它会创建一个带有适当描述的GitHub发布。其次,它会发布一条推文关于这个发布,你可以转发它,向你的关注者宣布这个消息。这两个功能对我来说非常方便。例如:
Translated by ChatGPT gpt-3.5-turbo/42 on 2023-11-17 at 14:45