【问题标题】:Downloading webapp folder from cloudfroundry v2 (pivotal)从 cloudfroundry v2 (pivotal) 下载 webapp 文件夹
【发布时间】:2013-08-04 07:14:19
【问题描述】:

我正在开发一个基于 spring 的应用程序,我炸了我的系统,因此丢失了应用程序源代码。无论如何下载cloudfoundry v2中的应用程序文件夹(WAR)?

我知道有一种方法可以在 v1 中下载 WAR 文件夹 - https://gist.github.com/danhigham/4705713 但我无法在 v2 中找到方法。

我可以通过使用(无法下载)查看文件内容-

cf 文件应用名称路径

【问题讨论】:

    标签: java spring jakarta-ee cloud-foundry


    【解决方案1】:

    是的,您可以在 Cloud Foundry (CF) v2 中下载您的应用程序代码。允许通过 REST API 连接到 CF(请参阅 this line in cloud controller)。很好的解释如何使用它(可能已经过时)是here。这是个好消息。

    坏消息是目前 cf 工具(ruby 客户端到 v2)尚不支持此操作。但您仍有一些选择:

    • 使用任何 REST 客户端(例如浏览器的插件,有很多)手动执行此请求。

    • 改进 cf 客户端(或任何其他库,例如 .NET client lib to CF v2,它对我有用)以支持下载操作。这是一种更难的方式,但您可以将您的工作贡献给社区(作为您提供的 v1 示例的作者)。

    我使用了第一种方法:

    • 首先,我以 CF 服务器为目标(在我的例子中为 https://api.run.pivotal.io)并使用 ruby cf client 登录它。
    • 然后我在我的用户目录中打开了.cf\tokens.yml 文件并复制了与我的目标相对应的:token:(此外,我将此令牌的值作为Authosization 标头添加到我使用REST 完成的每个请求中客户)。
    • 然后,使用 REST 客户端,我通过向 https://api.run.pivotal.io/v2/apps URl 发出 GET 请求获得了应用程序列表。从它的回复中,我发现了我感兴趣的应用程序的 GUID(例如,3F2504E0-4F89-11D3-9A0C-0305E82C3301)。
    • 最后,我向https://api.run.pivotal.io//v2/apps/3F2504E0-4F89-11D3-9A0C-0305E82C3301/download 发出了GET 请求。它给了我一个 HTTP/1.1 302 Found 重定向,并通过在浏览器中打开响应的 Location 标头中提供的 URL,我下载了我的应用程序存档。

    【讨论】:

    • 你能做一个工具来做到这一点吗:) 我需要下载一个部署在那里的战争文件。
    • 其实不需要这样的工具(太具体了,除非集成到任何客户端库中)。借助任何 REST 客户端,例如 thisthis chrome 扩展,执行我提到的 4 个步骤非常容易。并且不会超过 5-10 分钟
    猜你喜欢
    • 2018-06-21
    • 2020-08-25
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-19
    相关资源
    最近更新 更多