将SpringBoot应用部署到云端(Cloud Foundry)

最近在实践《SpringBoot in Action》,将写好的SpringBoot应用打包,推上云端,下面是记录详细的过程。

一、将应用打包,生成一个war文件

打包

二、在Cloud Foundry网站上注册,下载工具

Cloud Foundry提供60天的免费试用,试用期间无需提供任何信用可信息。

还需要在Cloud Foundry上下载一个工具:

下载工具

三、将war包推导Cloud Foundry平台上

在shell上登陆

shell$ cf login -a https://api.run.pivotal.io
API 端點: https://api.run.pivotal.io

Email> yourself@gmail.com

Password> 
正在鑑別...
確定

已設定組織 hefrankeleyn-org 的目標

已設定空間 development 的目標


            
API 端點:   https://api.run.pivotal.io(API 版本: 2.134.0)
使用者:     hefrankeleyn@gmail.com
組織:       hefrankeleyn-org
空間:       development

 

上传war

shell$ cf push hef-readinglist -p ReadingList-0.0.1-SNAPSHOT.war
正在以 hefrankeleyn@gmail.com 身分,將應用程式 hef-readinglist 推送至組織 hefrankeleyn-org/空間 development...
正在取得應用程式資訊...
正在以這些屬性建立應用程式...
+ 名稱:   hef-readinglist
  路徑:   /Users/lifei/Documents/workspace/learning-area/006Spring/ReadingList/target/ReadingList-0.0.1-SNAPSHOT.war
  路徑:
+   hef-readinglist.cfapps.io

正在建立應用程式 hef-readinglist...
正在對映路徑...
正在比較本端檔案和遠端快取...
Packaging files to upload...
正在上傳檔案...

……

   Cell 12015062-d82d-4a5a-9a56-0cceb53d2aa4 destroying container for instance 2a5c7a1f-ac00-4500-9ab1-75c6c2343ffa
   Cell 12015062-d82d-4a5a-9a56-0cceb53d2aa4 successfully destroyed container for instance 2a5c7a1f-ac00-4500-9ab1-75c6c2343ffa

正在等待應用程式啟動...
啟動不成功

提示: 如需相關資訊,請使用 'cf logs hef-readinglist --recent'
失敗

四、试用Cloud Foundry提供的数据库服务

查询免费的服务:

shell$ cf marketplace -s elephantsql
正在以 hefrankeleyn@gmail.com 身分取得服務 elephantsql 的服務方案資訊...
確定

service plan   description                                            free or paid
turtle         4 concurrent connections, 20MB Storage                 free
panda          20 concurrent connections, 2GB Storage                 paid
hippo          300 concurrent connections, 100 GB Storage             paid
elephant       300 concurrent connections, 1000 GB Storage, 500Mbps   paid

使用cf bing-service 命令,指定服务名、计划名、实例名:

shell$ cf create-service elephantsql turtle readinglistdb
正在以 hefrankeleyn@gmail.com 身分,於組織 hefrankeleyn-org/空間 development 中建立服務實例 readinglistdb...
確定

lifeideMacBook-Pro:target lifei$ cf bind-service hef-readinglist readinglistdb
正在以 hefrankeleyn@gmail.com 身分將服務 readinglistdb 連結至組織 hefrankeleyn-org/空間 development 中的應用程式 hef-readinglist...
確定

提示: 使用 'cf restage hef-readinglist',確保您的環境變數變更生效

服务创建后,通过 cf bind-service 命令将它绑定我们的应用程序:

shell$ cf restage hef-readinglist
此動作將導致應用程式關閉。

正在以 hefrankeleyn@gmail.com 身分重新編譯打包組織 hefrankeleyn-org/空間 development 中的應用程式 hef-readinglist...

正在編譯打包應用程式及追蹤日誌...
   Downloading dotnet_core_buildpack_beta...
   Downloading staticfile_buildpack...
   Downloading go_buildpack...

……

buildpack-memory-calculator-3.13.0_RELEASE
              -totMemory=$MEMORY_LIMIT -loadedClasses=20513 -poolType=metaspace
              -stackThreads=250 -vmOptions="$JAVA_OPTS") && echo JVM Memory
              Configuration: $CALCULATED_MEMORY && JAVA_OPTS="$JAVA_OPTS
              $CALCULATED_MEMORY" && MALLOC_ARENA_MAX=2 SERVER_PORT=$PORT eval
              exec $PWD/.java-buildpack/open_jdk_jre/bin/java $JAVA_OPTS -cp
              $PWD/. org.springframework.boot.loader.WarLauncher
     state    自從                   cpu    memory      磁碟      詳細資料
#0   執行中   2019-05-15T05:13:04Z   0.0%   176.1M/1G   161M/1G  

五、可以访问部署的应用了

https://hef-readinglist.cfapps.io/


访问应用

访问效果

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值