部署代碼包
更新時間 2025-03-21 15:01:26
最近更新時間: 2025-03-21 15:01:26
分享文章
本文以天翼云函數計算平臺提供的Go SDK依賴庫為例,介紹如何為您的Go代碼安裝依賴,打包并部署代碼至函數計算。
注意由于函數計算的運行環境是Linux系統,在Windows系統或macOS系統安裝依賴庫帶有跟當前系統相關二進制文件,會導致您的代碼包部署到函數計算后運行失敗。建議您使用Linux系統進行以下操作。
準備工作
- 函數計算平臺提供Go SDK,您可以執行以下命令把它下載到本地:
go get gitee.com/ctyunfaas/cf-runtime-go-sdk/cf - 創建源碼文件main.go,并通過import導入依賴庫:
package main import ( ? "context" ? "gitee.com/ctyunfaas/cf-runtime-go-sdk/cf" ) func HandleRequest(ctx context.Context) (string, error) { ? return "hello world", nil } func main() { ? cf.Start(HandleRequest) }
編譯打包
在Linux下編譯打包
GOOS=linux CGO_ENABLED=0 go build main.go
zip fc-golang-demo.zip main
注意在Linux系統建議使用純靜態編譯,通過配置CGO_ENABLED=0,確保可執行文件不依賴任何外部依賴庫(如libc庫),避免出現編譯環境和Go運行時環境依賴庫的兼容問題。
為了確保Go編譯出來的二進制程序可以執行,請通過chmod +x添加可執行權限。
在macOS(或其它ARM架構機器)下編譯打包
GOOS=linux GOARCH=amd64 go build main.go
zip fc-golang-demo.zip main
在Windows下編譯打包
set GOOS=linux
set GOARCH=amd64
go build -o main main.go
進入當前編譯目錄,選中main二進制文件,單擊鼠標右鍵,選擇打包為ZIP包。
部署到函數計算
在函數計算控制臺找到對應的目標函數,然后在函數詳情頁面的右上角,點擊上傳代碼-上傳zip進行上傳剛打包的ZIP文件。