cloudbees - 如何通过 CloudBees Jenkins "Deploy Now"功能部署非 Web Java 应用程序?

标签 cloudbees

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

最佳答案

虽然当前的 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 中的实例。请注意,这仍然对 jar 文件中的版本进行硬编码 - 我正在研究如何为 jar 文件的版本设置一个变量,使其与 Maven 构建版本相对应。

关于cloudbees - 如何通过 CloudBees Jenkins "Deploy Now"功能部署非 Web Java 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13400163/

相关文章:

java - 为基于云的构建和部署管理 paypal-api 凭据的好方法是什么?

jsp - mvn tomcat :run mixes up with application URI

tomcat - Cloudbees 虚拟主机与 tomcat 上下文路径

rest - 如何使用 Jenkins API 为 Jenkins 创建 secret 文本类型的凭证?

jenkins - 生产环境升级jenkins

cloudbees - SSH 公钥不适用于 CloudBees 存储库

tomcat - 集群 session 存储位置

jenkins - 从 Jenkins 工作流(管道)插件获取登录 Jenkins 的用户名

node.js - 将 Node js 应用程序部署到 Cloudbees ClickStart 时出错

docker - Jenkins 和 Docker 设备上没有空间 - 如何正确清理