How to Deploy to CloudBees, in One Click

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

当我部署一个名为stateful.co的Java Web应用程序到CloudBees时,只需要花费我30秒的时间,甚至可能更短。最近,我部署了版本1.6.5。你可以在GitHub问题#6中看到整个过程:

正如你所见,我给Rultor发送了一个命令,它打包、测试并将新版本部署到了CloudBees。我什么其他操作都没有做。

现在让我们看看你如何做到同样的事情。你如何配置你的项目,使得部署新版本到CloudBees只需要花费你几秒钟的时间。

Configure the CloudBees Maven Plugin

将此配置文件添加到您的 pom.xml 中:

这个插件不在Maven Central(不幸的是)。这就是为什么我们必须指定 <pluginRepository>

注意,我们还禁用了 maven-deploy-plugin,因为它会尝试将你的WAR包部署到 <distributionManagement> 部分指定的仓库中。我们希望避免这种情况发生。

只有在定义了 bees.id 属性时,配置文件才会被激活。在正常的开发和测试过程中,这不会发生,但在由Rultor启动的部署周期中,它会发生,因为我们将在 settings.xml 中定义此属性(下面讨论)。

在CloudBees上创建一个帐户并注册您的Web应用程序。CloudBees是免费的,只要您不需要太多的计算能力。我相信Web应用程序在定义上应该是轻量级的,因此CloudBees的免费层是一个理想的选择。

创建一个settings.xml文件(但不要将其提交到您的存储库中!):

使用rultor remote对此文件进行加密:

请使用你的GitHub项目的名称替换me/test

你应该得到一个settings.xml.asc文件;将其添加到你的项目的根目录中,然后提交并推送。该文件包含了你的CloudBees凭据,但是以加密格式存储。除了Rultor服务器外,没有人可以读取它。

我建议使用jcabi-parent。它可以直接配置所需的插件。如果您正在使用它,请跳过此步骤。

否则,请将此插件添加到您的pom.xml文件中:

Configure Rultor

在您的项目根目录下创建一个.rultor.yml文件(此参考页面详细解释了该格式)。

你可以将你的文件与活动的Rultor stateful.co的配置进行比较。

现在是时候看看它是如何运作的了。在GitHub问题跟踪器中创建一个新的工单,并将类似以下内容的内容发布到其中(详细了解Rultor命令)。

您将在几秒钟内收到回复。其余的工作将由 Rultor 完成。

顺便说一句,如果我解释的东西出了问题,请毫不犹豫地在Rultor问题跟踪器上提交一张工单。我会尽力帮助你。

此外,类似的配置也可以用于Heroku(使用jcabi-heroku-maven-plugin)和AWS Elastic Beanstalk(使用jcabi-beanstalk-maven-plugin)。我可能会单独为它们撰写文章。

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-12-27 at 10:54

sixnines availability badge   GitHub stars