首页 > 解决方案 > 使用 cf-java-client 执行“cf-push”

问题描述

我对使用 Cloud Foundry 很陌生。目前,我正在尝试使用 Cloud Foundry Java 客户端库自动执行将应用程序推送到目标 URL 的任务,但我无法弄清楚如何推送清单文件,即如何执行命令“cf push -f" 使用 java 客户端库?

我能够登录并查看空间和组织列表。我只需要进入开发领域的组织。

提前致谢 !

标签: javacloudcloud-foundrycloudfoundry-java-client

解决方案


对于初学者,您想使用CloudFoundryOperations API。这是一个更高级别的抽象,并模仿了cfcli 的行为。这与更接近原始底层 Cloud Foundry API的CloudFoundryClient API相反。

CloudFoundryOperations.pushManifest(..)方法应该做你想做的。它需要一个PushApplicationManifestRequest对象。

可以直接使用builder来创建,也可以使用ApplicationManifestUtils.read(..)方法。该read(..)方法将从传统的 cf climanifest.yml文件中读取,您可以使用 Builder 的方法,例如addAllManifests(..)manifests(..)ApplicationManifest您从调用中获得的对象添加read(..)到您的PushApplicationManifestRequest对象。

当您PushApplicationManifestRequest按照您想要的方式构建对象时,您只需将其传递给CloudFoundryOperations.pushManifest(..).

供其他人参考,CloudFoundryOperations.push(..)如果您不想使用清单,则有一种方法也可以使用。它的功能大致相同,但不支持清单。


推荐阅读