使用Vmc push部署应用程序到后台过程

本文介绍了使用CloudFoundry的vmc CLI工具进行应用部署的详细步骤,包括选择目标、登录、推送应用、绑定服务、预处理代码及上传等多个环节,展示了如何高效地管理和部署应用程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇博客介绍 Cloud Foundry vmc CLI 接口及其与 Cloud Foundry 交互的方式。当客户端(如 vmc 或 STS)连接到 Cloud Foundry 时,它在后端进行什么操作,这些内容将在随后发布的其他博客中介绍。

 

以 Cloud Foundry 为目标

第 1 步:vmc 选定目标 api.cloudfoundry.com

第一次安装 vmc 并准备开始控制 Cloud Foundry 时,需要首先为它选择目标。为什么需要选择 api.cloudfoundry.com?因为 vmc 能够连接任何 Cloud Foundry 实例,不论它是在 cloudfoundry.com 中还是在其他位置。选择目标后,您还可以通过相同的方式使用同一个 CLI 连接多个 Cloud Foundry 云。

第 2 步:vmc 返回“已成功选择 [http://api.cloudfoundry.com] 作为目标”

这说明 vmc 能够从 api.cloudfoundry.com 获取有效响应,同时表明它是有效的 Cloud Foundry 实例。

注意: 每次通过 vmc 发布新命令时,示意图编号都会重复

 

登录 Cloud Foundry

第 1 步:vmc 登录

输入命令后,系统将提示您输入您的电子邮件地址和密码。之后,您的凭据将通过 vmc 传递到 Cloud Foundry,并在那里进行验证。假设您的凭据通过了验证,Cloud Foundry 随后会将安全令牌发回 vmc 客户端。

第 2 步:成功登录 [http://api.cloudfoundry.com]

当 vmc 客户端收到安全令牌后将显示此信息。现在,您可以发布命令,通过 vmc 来控制 Cloud Foundry 上的实例。

 

使用 vmc push 部署应用程序

第 1 步:vmc push

下面的步骤将详细介绍上面显示的对话框,说明每一步的具体操作及作用。

 

第 2 步:在这一步您可以选择应用程序的备用位置。使用 vmc push 时,可以添加 —path /some/location,这样您可以继续保持当前的目录位置,而不用进入您要部署的应用程序。

 

第 3 步:为您的应用程序指定一个简单好记的名称,以便在 vmc 内部引用它时使用。此名称可以(但不一定)和部署的 URL 无关,用户将通过该 URL 访问您的应用程序。

 

第 4 步:部署了应用程序的 URL 是用户从 Internet 或你的 Cloud Foundry 实例外部访问您的应用程序的位置。

第 5 步:检测或选择应用程序类型

vmc 将尝试检测所使用的框架,以便决定需要的正确的运行时环境是什么。如果您要以特定的方式处理代码,或者如果 vmc 无法检测所使用的框架,则可以手动选择框架,这样,您的代码将被视为同时用于此框架以及与该框架关联的运行时环境。

 

第 6 步:“预留内存”用于确定应用程序所需要的内存量。“预留内存”是清单(manifest)的组成部分,将在以后介绍,它还可以用于确保您不会超过系统的配额限制。

 

第 7 步:vmc 已在“本地”创建了应用程序,这意味着所有应用程序元数据都已创建并保存。应用程序元数据是清单的组成部分,具体包括:

  • 应用程序名称
  • URL
  • 框架
  • 运行时
  • 所需的实例
  • 预留内存

有一点很重要,现在还没有向 Cloud Foundry 发送任何数据。

 

第 8 步:将服务绑定到应用程序能够增加一些功能,如 Redis(键/值存储)、MySQL(关系数据库)以及消息传递等其他服务。

 

第 9 步:因为您的应用程序在远程运行(不在本地操作系统中),所以在将其发送到 Cloud Foundry 之前,必须进行预处理。下面的步骤将介绍这个复杂的过程,其中 vmc 和 Cloud Foundry 将共同协作,确定上传您代码的最有效方式。

 

第 10 步:命令提示“Checking for available resource”就是检查元数据和清单,以便确定要发送的数据。vmc 确定要发送到 Cloud Foundry 的数据的过程分为多个阶段,在下面几个示意图中进行介绍。

 

第 10a 步:检查元数据(应用程序需要的资源、应该使用的运行时和框架等)

第 10b 步:查看组件(确定准备用于下一步的 gem、库、npms 等)。

第 10c 步:基于文件的指纹识别(将在这里构建文件清单,以及与该文件关联的 SHA-1 哈希)。

第 10d 步:随后将清单发送到 Cloud Foundry。

 

第 11 步:应用程序已成功打包,具体什么是打包?请参见下面的示意图了解详细信息(以及对在第 10 步中发送的清单采取什么操作)

 

第 11a 步:打包开始时,将清单从 Cloud Foundry 发送到 vmc。此清单只列出了 Cloud Foundry 需要的文件,并不是构成应用程序的所有文件。与通过每次推送来发送所有代码/应用程序文件的方法相比,这种只请求和发送所需数据的方法使上传的效率更高。

第 11b 步:vmc 复制所需文件(仅限 Cloud Foundry 需要的文件)并压缩这些文件

第 11c 步:准备 vmc 清单以及包含 Cloud Foundry 需要的所有代码的压缩文件。

第 11d 步:文件可以上传到 Cloud Foundry。

第 12 步:vmc 将应用程序(仅包括清单和压缩文件)上传到 Cloud Foundry。在上面的情况中,如果您要部署的应用程序已经由其他用户部署了,则会看到上传(Uploading)为“确定”(OK)。这是因为 Cloud Foundry 不仅仅查看您发送给它的文件,而且还查看以前传过的所有文件。通过查看以前所有的文件,上传效率将大大提高,因为这些文件很可能是 Cloud Foundry 以前见过的文件。

 

第 13 步:当“推送状态”(Push Status)返回“确定”(OK)时,表示 Cloud Foundry 已收到应用程序,现在可使用它进行暂存。

 

第 14 步:只有在 Cloud Foundry 成功地分配了运行应用程序所需的资源和环境时,“暂存应用程序”(Staging Application)才会返回“确定”(OK)。

 

第 15 步:因为“启动应用程序”是自动执行的,所以不需要手动进行,除非在执行 vmc push 时命令行添加了 —no-start。只有 vmc 从 Cloud Foundry 收到表明所有应用程序实例运行正常/都在运行的信息时,“启动应用程序”才会返回“确定”。

应用程序成功启动后,您可以访问部署的 URL,在这里是http://hello.cloudfoundry.com,以便使用部署的应用程序。

Cloud Foundry 团队经过不懈的努力,使资源使用和效率成为代码和系统设计中优先考虑的条件。

有关 Cloud Foundry 工作原理的知识将在后面的博客中介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值