最近在实践《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.ioEmail> 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/