前言
首先介紹下在本文出現的幾個比較重要的概念:
函數計算(Function Compute): 函數計算是一個事件驅動的服務,通過函數計算,使用者無需管理伺服器等運作情況,隻需編寫代碼并上傳。函數計算準備計算資源,并以彈性伸縮的方式運作使用者代碼,而使用者隻需根據實際代碼運作所消耗的資源進行付費。函數計算更多資訊 參考。
Fun: Fun 是一個用于支援 Serverless 應用部署的工具,能幫助您便捷地管理函數計算、API 網關、日志服務等資源。它通過一個資源配置檔案(template.yml),協助您進行開發、建構、部署操作。Fun 的更多文檔
。
ROS: 阿裡雲資源編排服務(ROS)助您簡化雲計算資源的管理。您可以遵循ROS定義的模闆規範,在模闆中定義所需雲計算資源的集合及資源間依賴關系。ROS自動完成所有資源的建立和配置,實作自動化部署和運維。更多文檔
備注: 本文介紹的技巧需要 Fun 版本大于等于 3.0.8。
環境準備
首先按照 Fun 的
安裝文檔裡介紹的方法将 Fun 安裝到本機。
安裝完成後,可以執行
fun --version
檢查 Fun 是否安裝成功。
快速部署
1.初始化項目
通過
fun init可以進行項目的初始化:
fun init -n SpringBootDemo
執行完畢,會在目前目錄多出來一個名為 SpringBootDemo 的目錄。
執行效果如下:

2. 本地編譯
fun build可以對項目進行編譯建構:
fun build
3. 本地運作
備注:如果不需要本地運作,可以跳過這步
fun local start可以在本地運作函數。
執行以下指令:
fun local start demo-springboot
可以看到效果:
4. 本地單步調試
備注:如果不需要本地單步調試,可以跳過這步
也可以在本地單步調試函數。
無論是 VSCode,還是 IDEA,均已提供函數計算運作、調試的支援,可以分别參考 VSCode 插件
serverless-vscode,以及 IDEA 插件
Cloud Toolkit考慮到讀者閱聽人,這裡我們不借助插件進行調試,更詳調試細節請參考:
https://yq.aliyun.com/articles/683683操作效果如下:
5. 打包部署
接下來,我們使用
fun deploy --use-ros的方式通過 ROS 進行部署:
fun package --oss-bucket fun-local-test
fun deploy --use-ros --stack-name staging
其中,這裡的
--oss-bucket
名稱為自己所擁有讀寫權限的 oss 的 Bucket 名稱。
--stack-name
表示要部署的環境,可以基于該名稱的不同,建立多套開發環境,比如 test、staging、prod。
我們下面示範如何快速建立一個 staging 環境,執行效果如下:
測試完成後,可以登陸
ROS 控制台,一鍵删除剛才建立的 staging 資源棧,這樣,這個棧所包含的所有資源就都會被删除了。