随着 CloudBees 现在支持 Java 应用程序的部署,是否可以使用 Jenkins“部署到 CloudBees”中的构建后操作来部署您的应用程序?此外,我想使用 Maven程序集插件的 jar-with-dependencies目标,这样我就可以直接通过 Jenkins 将整个应用程序简单地自动部署到 CloudBees。
问问题
653 次
2 回答
3
虽然当前的 CloudBees 部署程序 Jenkins 插件似乎不支持这一点,但实际上它支持。以下是经过多次试验和错误对我有用的步骤:
- 在 pom.xml 中包含 jar-with-dependencies maven 插件。我使用了
<goal>single</goal>
和<descriptorRef>jar-with-dependencies</descriptorRef>
描述here。这将在您的目标文件夹中放置一个额外的 jar 文件{artifactId}-{version}-jar-with-dependencies.jar
- 通过CloudBees API部署该 jar 。本页的最后一行解释了如何做到这一点。指定您的可运行 jar,确保 runtimeContainer=java,以及要上传的 jar 文件,它应该部署。尽管 CloudBees 说要使用 zip 文件,但 jar 文件也可以正常工作。
- 一旦通过命令行部署了一次,您的应用程序 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 回答