为了偷懒从接触bluemix到现在,应用程序的部署设置等操作一直到在bluemix平台上直接可视化操作的。作为一个开发爱好者当让使用命令来操作会更帅呦。今天终于学习了下CF的命令操作,下面将我学习中的一点体会和大家分享一下。
安装
命令行工具的安装也很简便,直接从GitHub上下载即可(https://github.com/cloudfoundry/cli/releases)。
首先,使用"cf api"建立于 Bluemix 的连接,连接地址是 https://api.ng.bluemix.net
连接 Bluemix
USAGE:
cf api [URL]
C:\Users\IBM_ADMIN>cf api https://api.ng.bluemix.net
Setting api endpoint to https://api.ng.bluemix.net...
OK
API endpoint: https://api.ng.bluemix.net (API version: 2.2.0)
Not logged in. Use 'cf login' to log in.
其次,运行"cf login"登录到 Bluemix 并选择所要工作的组织和空间
登录 Bluemix
USAGE: cf login [-a API_URL] [-u USERNAME] [-p PASSWORD] [-o ORG] [-s SPACE] C:\Users\IBM_ADMIN>cf login API endpoint: https://api.ng.bluemix.net Username> shyou@qq.com Password> Authenticating... OK Select an org (or press enter to skip): 1. shyou@qq.com 2. OE_Runtimes_SVT Org> 1 Targeted org shyou@qq.com Targeted space dev API endpoint: https://api.ng.bluemix.net (API version: 2.2.0) User: shyou@qq.com Org: shyou@qq.com Space: dev
部署应用到 Bluemix
运行"cf push"命令来部署应用到 Bluemix:
USAGE:
Push a single app (with or without a manifest):
cf push APP [-b BUILDPACK_NAME] [-c COMMAND] [-d DOMAIN] [-f MANIFEST_PATH]
[-i NUM_INSTANCES] [-m MEMORY] [-n HOST] [-p PATH] [-s STACK] [-t TIMEOUT]
[--no-hostname] [--no-manifest] [--no-route] [--no-start]
C:\Users\IBM_ADMIN>cf push HelloBluemix -p C:\A_Workspace\apps\HelloWithMongo.war
Creating app HelloBluemix in org shyou@qq.com / space dev as shyou@qq.com...
OK
Using route HelloBluemix.ng.bluemix.net
Binding HelloBluemix.ng.bluemix.net to HelloBluemix...
OK
Uploading HelloBluemix...
Uploading from: C:\A_Workspace\apps\HelloWithMongo.war
53.4K, 14 files
OK
Starting app HelloBluemix in org shyou@qq.com / space dev as shyou@qq.com...
-----> Downloaded app package (484K)
OK
Buildpack Version: 20140527-0132
-----> Downloading IBM 1.7.0 JRE from http://file.icap.cdl.ibm.com/icapShared/jr
e/ibm-java-jre-7.0-6.0-linux-x86_64-small-footprint-uncompressed-jar-20140116.ta
r.gz (0.0s)
Expanding JRE to .java (1.2s)
Downloading from output/wlp/com.ibm.ws.liberty-2014.4.0.0-201405270132.tar.gz ..
. (0.0s).
Installing archive ... (0.6s).
-----> Uploading droplet (93M)
0 of 1 instances running, 1 starting
1 of 1 instances running
App started
Showing health and status for app HelloBluemix in org shyou@qq.com / spac
e dev as shyou@qq.com...
OK
requested state: started
instances: 1/1
usage: 1G x 1 instances
urls: HelloBluemix.ng.bluemix.net
state since cpu memory disk
#0 running 2014-05-30 06:45:02 PM 0.6% 329.8M of 1G 179.1M of 1G
部署成功以后可以运行"cf apps"查看应用的运行状态。在这里有几点需要说明:第一,<app_name>最好要做到唯一,不和部署在 Bluemix 上的其他应用重复,因为默认情况下这个<app_name>会和 domain 组成应用的访问连接,即:<app_name>.ng.bluemix.net,每一个应用的访问连接应该是唯一的,如果不是唯一,部署的过程中会报错提醒,我们只要换一个不一样的名字即可;第二,cf push 命令默认会将当前目录下的所有内容 push 到云端,除非我们显示的使用 –p 参数显示的指定要部署的内容;第三,从上面的输出中可以看到,应用的访问路径是"urls: HelloBluemix.ng.bluemix.net",即"http:// HelloBluemix.ng.bluemix.net",这也是默认的 Bluemix 中应用的访问路径的统一格"appname.domain"。