此解决方案部署 HTTPS 端点,您可以使用它来配置 webhook,以将您的 Git 链接到 Amazon Web Services (AWS)。有了 webhook,每次推送提交时,存储库都会自动检索、压缩并上传到 Amazon Simple Storage System (Amazon S3) 存储桶。然后,您可以配置 AWS CodePipeline、AWS CodeBuild 和 AWS CodeDeploy,将 S3 存储桶用作源。
-
构建内容
-
如何部署
-
费用和许可证
-
构建内容
-
本解决方案设置包含以下组件的无服务器 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 环境,请遵循部署指南中的说明操作。部署过程包括以下步骤:
- 如果您还没有 AWS 账户,请访问 https://aws.amazon.com 进行注册。
- 启动解决方案。部署大约需要 15 分钟。
- 请遵循 Git 服务中的说明来配置 Git 存储库,以便设置 Webhook。(您必须能够通过 Internet 连接到您的 Git 存储库。)
- 配置 AWS 服务以连接到 S3 对象。
- 测试提交。
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 成本和使用情况报告?