參考部署

Git Webhooks on AWS

用於將 Git 儲存庫連結至 AWS 的 HTTPS 端點和程式碼

此解決方案部署了一個 HTTPS 端點,可用來設定 Webhook,將 Git 連結至 Amazon Web Services (AWS)。設定 Webhook 之後,每次推送提交時,您的儲存庫都會自動擷取、壓縮並上傳至 Amazon Simple Storage System (Amazon S3) 儲存貯體。您可以設定 AWS CodePipeline、AWS CodeBuild 和 AWS CodeDeploy 以使用 S3 儲存貯體作為來源。

此解決方案由 AWS 開發。

 


AWS Service Catalog 管理員可將此架構新增至其專屬目錄。 

  •  您將建置的項目
  • 此解決方案設定一個無伺服器 AWS 雲端環境,其中包括以下元件:

    • 一個 Amazon API Gateway 端點,用於接收 Git Webhook 請求並將其轉發到 AWS Lambda。
    • 一個 AWS Lambda 函數,可處理來自 API 閘道的 Git Webhook 請求,並叫用 AWS CodeBuild 專案。
    • 一個 AWS CodeBuild 專案,用於連線至您的 Git 服務,然後擷取、壓縮最新版 Git 儲存庫並將其上傳至 Amazon S3。
    • 一個 AWS Key Management Service (KMS) 金鑰,用於加密/解密 CodeBuild 使用的 SSH (安全 Shell) 金鑰,以使用 SSH 連線至您的 Git 儲存庫。部署堆疊後,SSH 金鑰對由 Lambda 支援的 AWS CloudFormation 自訂資源產生。
    • 兩個 Amazon S3 儲存貯體:一個用於 Git 儲存庫內容,另一個用於加密的 SSH 金鑰。在您刪除堆疊後,Lambda 支援的 AWS CloudFormation 自訂資源將刪除 S3 儲存貯體的內容。如果需要備份,請在刪除堆疊之前複製 S3 儲存貯體。
  •  部署方式
  • 若要藉由 AWS 建構 Git 環境,請按照部署指南中的說明操作。部署流程包括以下步驟:

    1. 如果您尚未擁有 AWS 帳戶,請到 https://aws.amazon.com 註冊。
    2. 啟動解決方案。部署時間約為 15 分鐘。
    3. 請依照 Git 服務的說明配置 Git 儲存庫以設定 Webhook。(您必須能夠透過網際網路連線至您的 Git 儲存庫。)
    4. 設定 AWS 服務以連接至 S3 物件。
    5. 測試遞交內容。

    Amazon 可能會與 AWS 合作夥伴 (與 AWS 在此解決方案上協作的合作夥伴) 分享使用者部署資訊。  

  •  成本和授權
  • 此解決方案部署 AWS Key Management Service (KMS) 金鑰,其每月會產生金鑰儲存和用量費用。(請參閱 AWS Key Management Service 定價。)

    API 閘道、Amazon S3、Lambda 和 AWS CodeBuild 會根據您遞交程式碼至連線 Git 儲存庫的頻率收費。(請參閱 Amazon API Gateway 定價Amazon S3 定價AWS Lambda 定價AWS CodeBuild 定價。)

    執行此解決方案時,您須自行支付使用 AWS 服務和任何第三方授權的相關費用。使用此解決方案無須額外付費。

    此解決方案包括您能自訂的組態參數。其中某些設定 (例如執行個體類型) 會影響到部署的成本。若要估算成本,請參閱您所使用每項 AWS 服務的定價頁面。定價可能會隨時變更。

    提示:在部署解決方案後,建立  AWS Cost and Usage Report 以追蹤相關成本。這些報告會向您帳戶中的 Amazon Simple Storage Service (Amazon S3) 儲存貯體提供各個帳單指標。它們會根據每個月的用量提供成本估算,並在月底彙總資料。如需詳細資訊,請參閱 什麼是 AWS Cost and Usage Report?