如何通过CloudBees Jenkins部署非web Java应用程序;“立即部署”;特征?

如何通过CloudBees Jenkins部署非web Java应用程序;“立即部署”;特征?,cloudbees,Cloudbees,由于CloudBees现在支持Java应用程序的部署,是否可以使用Jenkins“部署到CloudBees”中的构建后操作来部署您的应用程序?此外,我希望使用Maven目标,这样我就可以通过Jenkins简单而自动地将我的整个应用程序部署到CloudBees。一旦正确设置并最初使用蜜蜂sdk进行部署,它就应该像战争一般从Jenkins上的部署器插件进行部署 一旦设置好,定义主类在部署之间的位置的设置就会持久化。虽然当前的CloudBees deployer Jenkins插件似乎不支持这一点,但

由于CloudBees现在支持Java应用程序的部署,是否可以使用Jenkins“部署到CloudBees”中的构建后操作来部署您的应用程序?此外,我希望使用Maven目标,这样我就可以通过Jenkins简单而自动地将我的整个应用程序部署到CloudBees。

一旦正确设置并最初使用蜜蜂sdk进行部署,它就应该像战争一般从Jenkins上的部署器插件进行部署


一旦设置好,定义主类在部署之间的位置的设置就会持久化。

虽然当前的CloudBees deployer Jenkins插件似乎不支持这一点,但事实上它确实支持。以下是经过多次尝试和错误后对我起作用的步骤:

  • 在pom.xml中包含带有依赖项的jar maven插件。我使用了
    single
    jar以及所描述的依赖项。这将在目标文件夹
    {artifactId}-{version}-jar with dependencies.jar
  • 通过。本页的最后一行解释了如何做到这一点。指定您的可运行jar,确保runtimeContainer=java,以及要上载的jar文件,并且它应该部署。即使CloudBees说使用zip文件,jar文件也可以正常工作
  • 一旦通过命令行部署一次,您的应用程序ID现在会“记住”这些设置,这样只要您正在将CloudBees部署到同一个应用程序,就可以通过Jenkins完成。在Jenkins作业中,将“部署到CloudBees”构建后操作添加到配置中。单击“添加Web应用程序”(奇怪,我知道,因为它不是一个Web应用程序!CloudBees说他们将努力改变它…),选择第一个匹配(即使它是Maven项目,使用第一个匹配),输入您在步骤2中部署应用程序的应用程序ID,然后输入jar文件的全名并再次尝试构建。它应该上传jar文件并在CloudBees PaaS中激活该实例。请注意,这仍然会对jar文件中的版本进行硬编码——我正在研究如何为jar文件的版本设置一个变量,使其对应于Maven构建版本