首先引見(jiàn)下在本文呈現(xiàn)的幾個(gè)比擬重要的概念:
函數(shù)計(jì)算(Function Compute): 函數(shù)計(jì)算是一個(gè)事情驅(qū)動(dòng)的效勞,經(jīng)過(guò)函數(shù)計(jì)算,用戶無(wú)需管理效勞器等運(yùn)轉(zhuǎn)狀況,只需編寫(xiě)代碼并上傳。函數(shù)計(jì)算準(zhǔn)備計(jì)算資源,并以彈性伸縮的方式運(yùn)轉(zhuǎn)用戶代碼,而用戶只需依據(jù)實(shí)踐代碼運(yùn)轉(zhuǎn)所耗費(fèi)的資源停止付費(fèi)。
Fun: Fun 是一個(gè)用于支持 Serverless 應(yīng)用部署的工具,能協(xié)助您便利地管理函數(shù)計(jì)算、API 網(wǎng)關(guān)、日志效勞等資源。它經(jīng)過(guò)一個(gè)資源配置文件(template.yml),輔佐您停止開(kāi)發(fā)、構(gòu)建、部署操作。
ROS: 阿里云資源編排效勞(ROS)助您簡(jiǎn)化云計(jì)算資源的管理。您能夠遵照ROS定義的模板標(biāo)準(zhǔn),在模板中定義所需云計(jì)算資源的匯合及資源間依賴關(guān)系。ROS自動(dòng)完成一切資源的創(chuàng)立和配置,完成自動(dòng)化部署和運(yùn)維。
備注: 本文引見(jiàn)的技巧需求 Fun 版本大于等于 3.0.8。
環(huán)境準(zhǔn)備
首先依照 Fun 的裝置文檔里引見(jiàn)的辦法將 Fun 裝置到本機(jī)。
裝置完成后,能夠執(zhí)行 fun --version 檢查 Fun 能否裝置勝利。
快速部署
1.初始化項(xiàng)目
經(jīng)過(guò) fun init 能夠停止項(xiàng)目的初始化:
fun init -n SpringBootDemo
執(zhí)行終了,會(huì)在當(dāng)前目錄多出來(lái)一個(gè)名為 SpringBootDemo 的目錄。
執(zhí)行效果如下:
2. 本地編譯
經(jīng)過(guò) fun build 能夠?qū)?xiàng)目停止編譯構(gòu)建:
fun build
執(zhí)行效果如下:
3. 本地運(yùn)轉(zhuǎn)
備注:假如不需求本地運(yùn)轉(zhuǎn),能夠跳過(guò)這步
經(jīng)過(guò) fun local start 能夠在本地運(yùn)轉(zhuǎn)函數(shù)。
執(zhí)行以下命令:
fun local start demo-springboot
能夠看到效果:
4. 本地單步伐試
備注:假如不需求本地單步伐試,能夠跳過(guò)這步
經(jīng)過(guò) fun local start 也能夠在本地單步伐試函數(shù)。
無(wú)論是 VSCode,還是 IDEA,均已提供函數(shù)計(jì)算運(yùn)轉(zhuǎn)、調(diào)試的支持,能夠分別參考 VSCode 插件 serverless-vscode,以及 IDEA 插件 Cloud Toolkit。
思索到讀者受眾,這里我們不借助插件停止調(diào)試,更詳調(diào)試細(xì)節(jié)請(qǐng)參考:https://yq.aliyun.comhttps://img5.jz5u.com/Articles/683683
操作效果如下:
5. 打包部署
接下來(lái),我們運(yùn)用 fun deploy --use-ros 的方式經(jīng)過(guò) ROS 停止部署:
fun package --oss-bucket fun-local-test fun deploy --use-ros --stack-name staging
其中,這里的 --oss-bucket 稱號(hào)為本人所具有讀寫(xiě)權(quán)限的 oss 的 Bucket 稱號(hào)。
--stack-name 表示要部署的環(huán)境,能夠基于該稱號(hào)的不同,樹(shù)立多套開(kāi)發(fā)環(huán)境,比方 test、staging、prod。
我們下面演示如何快速創(chuàng)立一個(gè) staging 環(huán)境,執(zhí)行效果如下:
測(cè)試完成后,能夠登陸 ROS 控制臺(tái),一鍵刪除方才創(chuàng)立的 staging 資源棧,這樣,這個(gè)棧所包含的一切資源就都會(huì)被刪除了。