Cloud Foundry(简称CF)是一个大型可扩展性的APP引擎平台。CF可以帮助开发者快速的运行并延展新创建的APP,缩短与用户的反馈周期,同时使网络资源管理简单化自动化。
对于一名软件开发员,他只需要知道几个基本的命令来与CF平台互动。客户端的命令行工具cf(小写)可以以'gem install cf'来安装ruby版本,或者参照说明安装Go版本:http://docs.gopivotal.com/pivotalcf/devguide/installcf/install-go-cli.html
我写了一个简单的ruby sinatra app来介绍几个最常用的命令。大家可以仿效Appendix里的命令行输入/输出来运行自己的APP。网页的基本功能就是记录用户点击了页面多少次。大家现在便可以登录clicks.cfapps.io来尝试我的APP。
(以下运用了Go cf)
A. 连接并登入cloudfoundry
> cf api [api.mycloudfoundry.xip.io]设置CF云端的服务接口
> cf login
验证并登陆CF
B. 上传并运行APP
> cf push APP在程序根目录下运行这个命令后,cf就会把当前目录包括源代码的所有文件,打包并上传到CF上面,之后CF就会自动分析出APP的语言,根据源代码下载所需的依赖,编译程序并将其重新打包成一个“露珠”(dropplet,可以反复运行并延展的独立程序包)。这一切都是后台自动完成的,无需任何设置。这时候在你设置网段的任何人便可以去浏览我们的APP了。
开发员可以定义APP的名称(name),运行实例的数量(number of instances),内存(Memory Limit),子域名(subdomain),域名(domain),还有可选择绑定的服务(services,会在另一篇文章深入介绍),等等。
C. 监控和调试APP
> cf apps显示已经上传的APP以及它们的运行状态。
> cf logs APP --recent
显示我们上传APP的log,包括env.log, staging_task.log, stderr.log, 和stdout.log。我们的log一般会在stderr或stdout找到,另外两个为系统log。在下面的示例,stderr.log反应了在代码里留下的log,并显示出session函数的值。
如果去掉'--recent',cf则会对log进行'tail -f'的功能。
> cf files APP
显示我们上传APP的根目录文件夹结构,一般会反应我们在本地上传的目录结构。我们还可以运用这个命令查看已上传文件的内容。
Appendix
--------------------------------Command Line Outputs--------------------------------
~/workspace/clicks $ cat *
./Gemfile
source "ht