如果您已經在Function Compute部署了函數,每次更新代碼和配置並手動發布存在既繁瑣又容易出錯的風險。為了提升發布的體驗,降低人工操作引入的風險,您可以通過應用中心對已有的Function Compute工程進行部署,從而擷取持續部署的能力。應用中心提供了可自訂的流水線能力,通過引入可程式化的自動化構建發布能力以及人工審批確認能力,協助您在雲上構建並部署工程。
前提條件
已建立函數。
本文以Node.js應用為例介紹通過應用中心部署的操作步驟。
函數代碼通過Git管理。
應用中心已經適配了GitHub、Gitee、Codeup以及自建的GitLab等多種常見情境。本文樣本中的函數代碼使用GitHub管理。
步驟一:整理構建命令並確認構建工具版本
整理構建命令
應用中心提供了構建函數所需要的執行環境,但是並沒有實現自適應的構建與打包能力。和在本地執行一樣,使用者在雲上執行同樣的構建與打包命令即可,其中Windows環境與雲上Linux環境不一致,構建方式會有區別。關於如何正確開發和構建函數,可以參考不同運行環境提供的部署程式碼封裝,具體見代碼開發概述。
本文以Node.js為例,您需要在本地執行的構建命令樣本如下。請根據實際的函數代碼整理對應的構建命令,該構建命令會在應用中心配置流水線時使用。
# 使用npm工具構建,一般為install命令,有自訂的功能也可以加入
# 只要能滿足構建的需求就行
npm install ./code --production --registry=https://registry.npmmirror.com
# 使用zip命令進行打包。s工具也支援自動zip。
# 如果要避免將預期外的內容打包,我們推薦zip命令。
# 這裡將程式碼封裝打包,壓縮包位於根目錄,也可以放置在其他位置。
zip code.zip -r ./code/*確認構建工具版本
應用中心在構建環境中整合了多個版本的構建工具,您可以按需切換。本文使用的是Node.js 16版本,該構建工具版本會在應用中心配置流水線時使用。
步驟二:準備s.yaml檔案
使用s.yaml設定檔可以全量定義函數,推薦您在代碼倉庫中放置s.yaml檔案,並使用Serverless Devs工具進行部署。
對於已經部署在Function Compute的存量函數,準備s.yaml檔案的步驟如下:
-
登入Function Compute控制台,在左側導覽列,選擇。
-
在頂部功能表列,選擇地區,然後在函数列表頁面,單擊目標函數。
在函数详情頁面,選擇代码頁簽,依次單擊,在匯出函數配置對話方塊單擊确定,將s.yaml檔案下載到本地。
修改s.yaml檔案,將修改後的s.yaml檔案放在根目錄,然後提交到函數代碼的Git倉庫中。
下載到本地的s.yaml檔案內容如下圖所示,需要修改的內容為:
移除
access: '{{ access }}'這一行內容。修改
codeUri為真實的構建產物的路徑,例如./code.zip。構建產物的路徑請參見整理構建命令。

如果需要描述多個函數,需要分別匯出對應的s.yaml檔案後,將檔案進行合理拼裝。關於s.yaml檔案的規範以及如何聲明多個函數,請參見YAML規範和許可權管理。
步驟三:在應用中心建立應用
登入Function Compute控制台,在左側導覽列,選擇,然後在应用頁面單擊创建应用。
在创建应用頁面,選擇通過倉庫匯入應用,選擇倉庫類型為GitHub,配置目標倉庫的相關資訊。
如果您的賬戶未授權給應用中心,可根據介面提示登入GitHub控制台授權給應用中心。
在環境配置地區,本文樣本配置的方案如下。
流水線配置方案:自定义配置。
應用部署觸發方式:Push到指定分支觸發。
流水線執行環境選擇:默认执行环境。
配置完成後,單擊建立並部署預設環境,完成應用的建立。
步驟四:在應用中心配置流水線
建立的應用首次部署可能會失敗,需要修改流水線的構建與部署任務,讓應用中心可以正確構建。關於流水線的概念以及使用說明,請參見相關概念和管理流水線。
在應用詳情頁面,選擇流水线管理頁簽,在流水线详情地區修改YAML檔案,修改完成後單擊保存。本文修改的內容樣本如下。
使用流水線外掛程式初始化Serverless Devs工具並拉取代碼。
使用runtime-setup外掛程式指定使用的構建工具版本,構建工具版本的擷取請參見確認構建工具版本。
使用OSS快取區外掛程式加速構建,配置緩衝路徑,加速NPM構建。
使用整理好的構建命令,構建code.zip包。構建命令的擷取請參見整理構建命令。
使用構建外掛程式完成資源的部署。

步驟五:通過Git Push驗證是否可以持續部署
將修改後的程式碼推送到代碼倉庫的master分支,就可以觸發流水線,並自動部署到Function Compute。
您可以在流水线管理頁簽下的流水线执行历史地區查看具體的執行詳情。

您可以通過應用中心部署的函數資源單擊查看函數代碼的更新情況。
說明不支援線上編輯的代碼不能查看函數代碼的更新情況。
在环境详情頁簽下的资源信息地區,單擊對應的函數,進入函數詳情頁面,選擇代码頁簽,即可查看通過Git Push的代碼已更新。
相關文檔
如果您希望通過流水線外掛程式實現灰階發布和正式發布,請參見使用fc-canary外掛程式進行灰階發布和使用fc-release外掛程式發布正式版本。
如果您希望在應用中心提供測試、預發及生產環境,並為每一個環境配置相應的流水線,方便環境的管理,具體請參見建立環境。