CloudBees 现在支持 Java 应用程序的部署,是否可以使用 Jenkins 中的“部署到 CloudBees”中的构建后操作来部署您的应用程序?此外,我想使用 Maven程序集插件的 jar-with-dependations http://maven.apache.org/plugins/maven-assembly-plugin/descriptor-refs.html#jar-with-dependencies目标是让我可以通过 Jenkins 简单、自动地将整个应用程序部署到 CloudBees。
虽然当前的 CloudBees 部署器 Jenkins 插件似乎不支持此功能,但事实上它支持。经过多次尝试和错误后,以下步骤对我有用:
- 在 pom.xml 中包含 jar-with-dependencies maven 插件。我用的是
<goal>single</goal>
and <descriptorRef>jar-with-dependencies</descriptorRef>
描述here http://maven.apache.org/plugins/maven-assembly-plugin/usage.html。这将在您的目标文件夹中添加一个额外的 jar 文件{artifactId}-{version}-jar-with-dependencies.jar
- 通过以下方式部署该 jar云蜜蜂API http://developer.cloudbees.com/bin/view/RUN/Java+Container。本页的最后一行解释了如何执行此操作。指定可运行的 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 中的实例。请注意,这仍然对 jar 文件中的版本进行硬编码 - 我正在研究如何为 jar 文件的版本设置变量,以便它与 Maven 构建版本相对应。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)