3

随着 CloudBees 现在支持 Java 应用程序的部署,是否可以使用 Jenkins“部署到 CloudBees”中的构建后操作来部署您的应用程序?此外,我想使用 Maven程序集插件的 jar-with-dependencies目标,这样我就可以直接通过 Jenkins 将整个应用程序简单地自动部署到 CloudBees。

4

2 回答 2

3

虽然当前的 CloudBees 部署程序 Jenkins 插件似乎不支持这一点,但实际上它支持。以下是经过多次试验和错误对我有用的步骤:

  1. 在 pom.xml 中包含 jar-with-dependencies maven 插件。我使用了<goal>single</goal><descriptorRef>jar-with-dependencies</descriptorRef>描述here。这将在您的目标文件夹中放置一个额外的 jar 文件{artifactId}-{version}-jar-with-dependencies.jar
  2. 通过CloudBees API部署该 jar 。本页的最后一行解释了如何做到这一点。指定您的可运行 jar,确保 runtimeContainer=java,以及要上传的 jar 文件,它应该部署。尽管 CloudBees 说要使用 zip 文件,但 jar 文件也可以正常工作。
  3. 一旦通过命令行部署了一次,您的应用程序 ID 现在会“记住”这些设置,因此只要您将 CloudBees 部署到同一个应用程序,就可以通过 Jenkins 完成。在您的 Jenkins 作业中,将“部署到 CloudBees”构建后操作添加到您的配置中。单击“添加 Web 应用程序”(奇怪,我知道,因为它不是 Web 应用程序!CloudBees 说他们会努力改变它......),选择 First Match(即使它是一个 Maven 项目,使用 First Match),输入您在步骤 2 中部署应用程序的应用程序 ID,然后输入 jar 文件的全名并再次尝试构建。它应该上传您的 jar 文件并在您的 CloudBees PaaS 中激活实例。
于 2012-11-16T13:36:04.440 回答
0

一旦你正确设置并最初使用 bees sdk 部署,它应该像战争通常那样从 Jenkins 上的部署器插件部署。

设置完成后,定义主类所在位置的设置在部署之间保持不变。

于 2012-11-15T19:43:09.753 回答