参考部署

AWS 上的 .NET Core CI/CD

部署自动化 .NET Core 应用程序管道

此解决方案在 Amazon Web Services(AWS)Cloud上提供了自动持续集成和持续交付(CI/CD)环境。适用于希望为 .NET Core 应用程序实施 CI/CD 管道的开发人员。

.NET Core CI/CD 环境通过 AWS CodePipeline、AWS CodeBuild 和 AWS CodeDeploy 管理应用程序更新。CI/CD 管道轮询 GitHub 存储库以获取更新。每当在已配置的存储库分支中修改代码时,管道会获取最新源代码并自动构建应用程序。然后将应用程序部署到运行 Amazon Linux 2 的 AWS Elastic Beanstalk 环境中。

这种可扩展部署可以帮助您快速、可靠地交付功能和更新。您无需管理编译服务器,仅需按实际用量付费。

本解决方案由 AWS 开发。

  •  构建内容
  • 本解决方案设置了以下内容:

    • 一个 Amazon Simple Storage Service(Amazon S3)桶,用于存放构件。
    • 一个 Elastic Beanstalk 环境,在部署应用程序的最新构建包时充当目标。
    • 用于来源、构建和部署阶段的 CI/CD 管道。

    每当配置的 GitHub 存储库分支中的代码发生更改时,来源阶段就会调用 CodePipeline。此阶段配置 GitHub,通过 Webhook 集成应用程序源代码。然后获取最新 GitHub 代码,并将其放在 Source Artifacts 目录下的 S3 存储桶中。

    构建阶段调用 CodeBuild,从 S3 存储桶中获取源代码。CodeBuild 提供的用于 .NET Core 的 Amazon Linux 2 Docker 镜像使用相关 BuildSpec.yml 文件中的步骤编译最新源代码。生成的构建包放置于 S3 存储桶中的 Build Artifacts 目录中。

    部署阶段调用 CodeDeploy 从 S3 存储桶中获取构建包并将其部署到 Elastic Beanstalk 环境中。

  •  如何部署
  • 要部署 .NET Core CI/CD,请遵循部署指南中的说明操作。部署过程大约需要 10 分钟,包括以下步骤:

    1. 如果您还没有 AWS 账户,请在 https://aws.amazon.com 上注册,并登录您的账户。
    2. 启动解决方案
    3. 通过启动 CI/CD 管道测试部署。您可以使用此解决方案中包含的示例应用程序。

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

  •  费用和许可证
  • 此解决方案无许可要求。

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

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

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