从cloudfroundry v2下载webapp文件夹(关键)

时间:2013-08-04 07:14:19

标签: java spring java-ee cloudfoundry

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

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

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

  

cf file app-name path

1 个答案:

答案 0 :(得分:3)

是的,您可以在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,我已经下载了我的应用程序的存档。