基于前面对于Cloud Foundry 的了解,这是一个提供不同语言和框架,服务的PaaS平台,而且很多应用多数是基于传统的Http请求的Web应用,包括Spring, Rails等框架,但是还没有接触到一个作为单独的应用程序或者可执行程序,就是不需要框架和容器的支持。以往往CF上Push应用,需要选择一些框架,现在可以不选择框架直接推送目录或者一个文件,CF直接运行这些工作进程,仅仅需要提供脚本或者可执行文件需要的命令,选择一个runtime就可以。
参考这篇博客,用一个简单的standalone的helloworld的例子来说明如何部署单独的应用程序。http://cnblog.cloudfoundry.com/?p=254
例子代码就是一个ruby文件,主要为了演示部署单独的应用程序。其实过程和一般的web程序差不多。
loop { puts 'Hello world' sleep 5 }
第一步,也是vmc push命令。
按照博客里面介绍的,这里面发生了几个过程。
1.VMC检测到这是一个独立的应用程序,所谓的Standalone,没有任何框架的支持,不象以前需要 Spring等等
2.系统需要我们提供程序运行需要的runtime, 这里是ruby18, 如果是java应用,可能是java 6或者 java 7
3. 我们需要一个启动应用程序或者脚本的的命令。这里,比较简单,就是ruby hello-world.rb.
4. 这一步和以往的App有区别,因为工作进程不需要URL,所有这里是None,当然有的工作进程需要特定的端口,可以通过设置VCAP_APP_PORT环境变量来设置Web端口。
部署成功以后,和一般的App一样,也可以通过VMC的相关命令查看应用的状态和各种信息,比如查看日志和应用程序部署清单。
这里顺便推荐一下insight工具,这个工具是可视化的对你在CF上所用应用进行监控,目前这个工具还处在Beta测试阶段,有兴趣的读者可以去Spring官网申请一个测试申请。下面是insight的效果。
到此为止,简单介绍了在CF上如何创建Standalone的应用程序,后面会深入研究一下更加复杂的单独应用程序。