spring_reference/VI. Deploying to the cloud/49. Cloud Foundry.md

47 lines
2.3 KiB
Markdown
Raw Normal View History

2015-03-06 15:07:56 +00:00
### 49. Cloud Foundry
如果不指定其他打包方式Cloud Foundry会启用它提供的默认打包方式。Cloud Foundry的[Java buildpack](https://github.com/cloudfoundry/java-buildpack)对Spring应用有出色的支持包括Spring Boot。你可以部署独立的可执行jar应用也可以部署传统的.war形式的应用。
一旦你构建了应用(比如,使用`mvn clean package`)并[安装](http://docs.cloudfoundry.org/devguide/installcf/install-go-cli.html)了cf[命令行工具](http://docs.cloudfoundry.org/devguide/installcf/install-go-cli.html),你可以使用下面的`cf push`命令(将路径指向你编译后的.jar来部署应用。在发布一个应用前确保你已登陆cf命令行客户端。
```shell
$ cf push acloudyspringtime -p target/demo-0.0.1-SNAPSHOT.jar
```
查看`cf push`[文档](http://docs.cloudfoundry.org/devguide/installcf/whats-new-v6.html#push)获取更多可选项。如果相同目录下存在[manifest.yml](http://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html)Cloud Foundry会使用它。
就此cf开始上传你的应用
```java
Uploading acloudyspringtime... OK
Preparing to start acloudyspringtime... OK
-----> Downloaded app package (8.9M)
-----> Java Buildpack source: system
-----> Downloading Open JDK 1.7.0_51 from .../x86_64/openjdk-1.7.0_51.tar.gz (1.8s)
Expanding Open JDK to .java-buildpack/open_jdk (1.2s)
-----> Downloading Spring Auto Reconfiguration from 0.8.7 .../auto-reconfiguration-0.8.7.jar (0.1s)
-----> Uploading droplet (44M)
Checking status of app 'acloudyspringtime'...
0 of 1 instances running (1 starting)
...
0 of 1 instances running (1 down)
...
0 of 1 instances running (1 starting)
...
1 of 1 instances running (1 running)
App started
```
恭喜!应用现在处于运行状态!
检验部署应用的状态是很简单的:
```shell
$ cf apps
Getting applications in ...
OK
name requested state instances memory disk urls
...
acloudyspringtime started 1/1 512M 1G acloudyspringtime.cfapps.io
...
```
一旦Cloud Foundry意识到你的应用已经部署你就可以点击给定的应用URI此处是[acloudyspringtime.cfapps.io/](http://acloudyspringtime.cfapps.io/)。