参考部署

AWS 上的 Git Webhooks

将您的 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 Cloud 环境:

    • 一个 Amazon API Gateway 端点,用来接收 Git Webhook 请求并将其转发到 AWS Lambda。
    • 一个 AWS Lambda 函数,用来处理来自 API Gateway 的 Git Webhook 请求,并调用 AWS CodeBuild 项目。
    • 一个 AWS CodeBuild 项目,用来连接到您的 Git 服务,然后检索、压缩与上传最新版本的 Git 存储库到 Amazon S3。
    • 一串 AWS Key Management Service (AWS KMS) 密钥,以加密/解密 CodeBuild 用来通过 SSH 连接到您的 Git 存储库的 SSH (Secure Shell) 密钥。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。(您必须能够通过 Internet 连接到您的 Git 存储库。)
    4. 配置 AWS 服务以连接到 S3 对象。
    5. 测试提交。

    Amazon 可能会跟与 AWS 合作打造此解决方案的 AWS 合作伙伴共享用户部署信息。  

  •  费用和许可证
  • 本解决方案部署 AWS Key Management Service (AWS KMS) 密钥,而该密钥会因为密钥存储与使用而产生每月成本。(请参阅 AWS Key Management Service 定价。)

    API Gateway、Amazon S3、Lambda 和 AWS CodeBuild 的费用因您向连接的 Git 存储库提交代码的频率而异。(请参阅 Amazon API Gateway 定价Amazon S3 定价AWS Lambda 定价AWS CodeBuild 定价。)

    您需要支付在运行此解决方案期间使用 AWS 服务和任何第三方许可证所产生的费用。使用此解决方案不会产生任何额外费用。

    此解决方案包括可自定义的配置参数。其中一些设置(如实例类型)会影响部署成本。有关成本估算信息,请参阅您使用的每种 AWS 服务的定价页面。价格可能随时变动。

    提示:部署解决方案后,请创建 AWS 成本和使用情况报告,以跟踪相关成本。这些报告会将账单指标发送至您账户中的 Amazon Simple Storage Service (Amazon S3) 桶。它们根据每个月的使用情况提供成本估算,并在月末汇总数据。有关更多信息,请参阅 什么是 AWS 成本和使用情况报告?