從 AWS CodeCommit 事件執行自訂動作 - AWS Prescriptive Guidance

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

從 AWS CodeCommit 事件執行自訂動作

由阿卜杜拉希奧洛耶 (AWS) 創作

R 類型:N/A

來源:AWS CodeCommit 儲存庫

目標:與其他 AWS 服務整合

建立者:AWS

環境:Enreative PoC 或試驗

技能:管理與治理;DevOps

AWS 服務:AWS CodeCommit; Amazon CloudWatch

Summary

當您使用 AWS CodeCommit 存放庫來儲存程式碼時,可能需要監控存放庫並在特定事件發生時啟動動作工作流程。例如,您可能想要在使用者對認可中的某一行程式碼做註解時傳送電子郵件通知,或啟動 AWS Lambda 函數以在認可後對存放庫內容執行安全性掃描。此模式概述了為自訂動作設定 CodeCommit 存放庫的步驟。該模式使用 AWS CodeCommit 通知規則來擷取感興趣的事件,然後將這些事件傳送到設定的目標。

先決條件和限制

先決條件

  • 作用中的 AWS 帳戶

  • 熟悉 Git 命令

Architecture

Tools

工具

AWS CodeCommit— AWS CodeCommit 是全受管原始碼控制服務,託管安全的 Git 儲存庫。它可讓團隊輕鬆地在安全且可高度擴充的生態系統中共同合作程式碼。CodeCommit 讓您不必操作自己的來源控制系統,也不用擔心其基礎設施的擴展能力

Amazon SNS— Amazon Simple Notification Service (Amazon SNS) 是一種 Web 服務,可讓應用程式、最終使用者和裝置立即傳送和接收雲端的通知。Amazon SNS 針對高輸送量、以推送為基礎的多對多傳訊提供主題 (通訊通道)。發佈商可以使用 Amazon SNS 主題將訊息分發給大量訂閱者以進行平行處理,包括 Amazon Simple Queue Service (Amazon SQS) 佇列、AWS Lambda 函數和 HTTP/S 網路掛鉤。您也可以使用 Amazon SNS 透過行動推送、SMS 和電子郵件傳送通知給最終使用者。

Epics

任務描述所需技能
完成 CodeCommit 所需的初始設定。

此任務涉及建立和設定 CodeCommit 的 AWS Identity and Access Management (IAM) 使用者,以及設定您的本機電腦供存取。您也應該安裝 AWS Command Line Interface (AWS CLI) 來管理 CodeCommit。如需有關此工作和其他史詩的指示和詳細資訊,請參閱 < 相關資源 > 一節中的連結。

DevOps 作業工程師
建立 CodeCommit 儲存庫。

使用程式 CodeCommit 主控台或 AWS CLI 來建立 CodeCommit 存放庫。

DevOps 作業工程師
將內容推送至 CodeCommit 儲存庫。

建立儲存庫之後,您可以使用 Git 命令將內容新增至該儲存庫。您可以從電腦移轉現有 Git 存放庫的內容,或是本機、未版本化的內容。

DevOps 作業工程師
任務描述所需技能
建立 SNS 主題。

這個 SNS 主題會收到來自 CodeCommit 可的事件。

雲端工程師/建築師
為自訂動作建立資源。

若要執行自訂動作,您必須建立對應的資源。例如,如果您的自訂動作是執行 Lambda 程式碼並將訊息傳送至 SQS 佇列,您必須建立 Lambda 函數和 SQS 佇列。電子郵件和 SMS 通知等動作不需要資源。

雲端工程師/建築師
為自訂動作資源訂閱 SNS 主題。

根據自訂動作,您可以為適當的通訊協定建立訂閱:例如,您訂閱電子郵件地址以進行電子郵件通知、執行自訂程式碼的 Lambda 函數,或是將事件傳送至 Amazon SQS 的 SQS 佇列。對於像電子郵件和短信訂閱協議,您需要確認從發送到電子郵件或電話號碼的鏈接訂閱,分別。

雲端工程師/建築師
任務描述所需技能
建立 CodeCommit 儲存庫的通知規則。

當您建立通知規則時,請選取應啟動通知的 Git 事件、選取 SNS 主題做為目標類型,然後選取您先前建立的 SNS 主題。您也可以為儲存區域設定多個目標。

DevOps 作業工程師
測試自訂動作。

執行設定為起始通知的其中一個事件。例如,如果您選取該事件做為觸發程序,請建立提取要求。您應該會看到您的自訂動作正在執行中。例如,如果您訂閱 SNS 主題的電子郵件地址,您應會收到電子郵件通知。

DevOps 作業工程師

設定 AWS CodeCommit

設定 Amazon SNS

設定通知規則

其他資源