第 9 章 部署到任何平台

现在,您已经了解了如何使用 GitHub Actions 作为自动化引擎,以及如何使用 GitHub Packages 轻松共享代码和容器,我们可以通过自动化部署来完成我们的持续集成/持续交付(CI/CD)功能。

在本章中,我将向您展示如何以安全且合规的方式轻松部署到任何云平台或其他平台。

本章将涵盖以下主要主题:

  • 分阶段部署

  • 自动化部署

  • 基础设施即代码(Infrastructure as Code)

  • 如何部署到 Azure 应用服务(Azure App Service)

  • 如何部署到 AWS 弹性容器服务(AWS Elastic Container Service, ECS)

  • 如何部署到 Google Kubernetes 引擎(Google Kubernetes Engine, GKE)

  • 衡量成功

CI/CD

CI(持续集成)意味着每次您将代码更改推送到代码库时,代码会被构建和测试,并将输出打包成构建产物。在 CD(持续交付)中,每当创建一个新的构建产物时,您会自动将其部署到您的环境中。

在实践 CI/CD 时,开发和交付阶段是完全自动化的。代码随时可以部署到生产环境。

关于持续交付(Continuous Delivery)和持续部署(Continuous Deployment,均为 CD),有各种定义区分它们——但这些定义在文献中并不一致,对主题的理解贡献不大。