本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:使用 CodePipeline 進行 Lambda 函數部署
本教學課程可協助您在 CodePipeline 中建立部署動作,將您的程式碼部署到您在 Lambda 中設定的函數。您將建立範例 Lambda 函數,其中您將建立別名和版本、將壓縮的 Lambda 函數新增至來源位置,並在管道中執行 Lambda 動作。
注意
在主控台中建立管道時,CodePipeline 將使用 S3 成品儲存貯體做為成品。(這與用於 S3 來源動作的 儲存貯體不同。) 如果 S3 成品儲存貯體位於與管道帳戶不同的帳戶中,請確定 S3 成品儲存貯體屬於 AWS 帳戶 安全且可靠的 。
注意
部署動作僅適用於 V2 Lambda
類型管道。
先決條件
您必須先有幾個資源,才能使用此教學來建立 CD 管道。以下是在開始使用前需準備的事項:
注意
所有這些資源都應在相同區域內建立 AWS 。
-
來源控制儲存庫,例如 GitHub 或來源 S3 儲存貯體 (本教學課程使用 S3),您將在其中存放您為 Lambda 函數建立
.zip
的檔案。 -
您必須使用已更新此動作許可的現有 CodePipeline 服務角色。若要更新您的服務角色,請參閱 Lambda 部署動作的服務角色政策許可。
滿足這些先決條件之後,即可繼續教學並建立 CD 管道。
步驟 1:建立範例 Lambda 函數
在此步驟中,您會建立您要部署的 Lambda 函數。
建立 Lambda 函數
-
存取 Lambda 主控台,並依照下列教學課程中的步驟建立範例 Lambda 函數:連結。
-
從頂端導覽中,選擇建立,然後從頁面頂端選取從頭開始。
-
在名稱中,輸入
MyLambdaFunction
。 -
發佈新版本。這將是別名將指向的版本。
-
選取您的 函數。
-
選擇動作下拉式清單。
-
選擇 Publish new version (發佈新版本)。
-
(選用) 將 新增至描述中的描述。
-
選擇 Publish (發布)。
-
-
為您的函數建立別名,例如
aliasV1
。 -
請確定別名指向您剛建立的版本 (例如 1)。
注意
如果您選擇 $LATEST,則無法使用流量轉移功能,因為 Lambda 不支援指向超過 1 個版本的別名 $LATEST。
步驟 2:將函數檔案上傳至您的儲存庫
下載函數並將其儲存為 zip 檔案。使用下列步驟將壓縮檔案上傳至 S3 儲存貯體。
將 .zip
檔案新增至來源儲存庫
-
開啟 S3 儲存貯體。
-
選擇上傳。
-
將包含 檔案的 zip
sample_lambda_source.zip
檔案上傳至來源儲存貯體。記下路徑。
object key
步驟 3:建立管道
使用 CodePipeline 精靈建立管道階段並連接來源儲存庫。
建立管道
前往 https://console.aws.amazon.com/codepipeline/
開啟 CodePipeline 主控台。 -
在 Welcome (歡迎) 頁面、Getting started (入門) 頁面、或者 Pipelines (管道) 頁面上,選擇 Create pipeline (建立管道)。
-
在步驟 1:選擇建立選項頁面的建立選項下,選擇建置自訂管道選項。選擇下一步。
-
在步驟 2:選擇管道設定中,在管道名稱中輸入
MyPipeline
。 -
CodePipeline 提供 V1 和 V2 類型的管道,其特性和價格有所不同。V2 類型是您可以在主控台中選擇的唯一類型。如需詳細資訊,請參閱管道類型。如需 CodePipeline 定價的資訊,請參閱 定價
。 -
在服務角色中,選擇使用現有的服務角色,然後選擇已更新此動作所需許可的 CodePipeline 服務角色。若要為此動作設定 CodePipeline 服務角色,請參閱 Lambda 部署動作的服務角色政策許可。
-
將 Advanced settings (進階設定) 下的設定保留為預設值,然後選擇 Next (下一步)。
-
在步驟 3:新增來源階段頁面上,新增來源階段:
-
在來源提供者中,選擇 Amazon S3。
-
在物件金鑰中,新增 .zip 檔案名稱,包括副檔名,例如
sample_lambda_source.zip
。
選擇下一步。
-
-
在步驟 4:新增建置階段頁面上,選擇略過。
-
在步驟 5:新增測試階段頁面上,選擇略過。
-
在步驟 6:新增部署階段頁面上,選擇 Lambda。
-
新增您的函數名稱和別名。
-
選擇您的部署策略。
-
選擇下一步。
-
-
在步驟 7:檢閱頁面上,檢閱管道組態,然後選擇建立管道以建立管道。
步驟 4:測試管道
您的管道應具備執行end-to-end原生 AWS 持續部署所需的一切。現在,將程式碼變更推送至來源儲存庫,以測試其功能。
測試管道
-
對設定的來源儲存庫進行程式碼變更、遞交並推送變更。
前往 https://console.aws.amazon.com/codepipeline/
開啟 CodePipeline 主控台。 -
從清單中選擇管道。
-
觀看管道階段的管道進度。您的管道應該完成,而且您的動作會部署到您的 Lambda 函數。
進一步了解
Lambda 部署動作允許兩種部署方法。一種方法是單獨轉移流量,而沒有來源動作的輸入成品。另一種方法是使用來源動作的輸入成品更新函數程式碼,然後根據更新的程式碼發佈新版本。對於第二個方法,如果提供別名,CodePipeline 也會執行流量轉移。本 Lambda 部署動作教學課程示範如何使用來源成品更新函數。
若要進一步了解 動作,請參閱 的動作參考頁面AWS Lambda 部署動作參考。