使用 Azure) 生成 Real-World 云应用 (持续集成和持续交付

作者 :Rick Anderson,TomDykstra

下载修复项目下载电子书

使用 Azure 构建真实世界云应用 电子书基于 Scott Guthrie 开发的演示文稿。 其中介绍了 13 种模式和做法,可帮助你成功开发适用于云的 Web 应用。 有关电子书的信息,请参阅 第一章

前两个推荐的开发过程模式是 “自动执行所有内容 ”和 “源代码管理”,第三个过程模式合并了它们。 持续集成 (CI) 意味着每当开发人员将代码签入到源存储库时,都会自动触发生成。 持续交付 (CD) 更进一步:生成和自动化单元测试成功后,会自动将应用程序部署到可以执行更深入测试的环境。

云使你能够最大程度地降低维护测试环境的成本,因为只要使用环境资源,你只需为环境资源付费。 CD 进程可以在需要时设置测试环境,并在完成测试后关闭环境。

持续集成和持续交付工作流

通常,我们建议你持续交付到开发和过渡环境。 大多数团队(即使是 Microsoft 团队)都需要手动审查和审批流程进行生产部署。 对于生产部署,你可能希望确保当开发团队的关键人员可以获取支持时或在低流量期间发生此情况。 但没有什么可以阻止你完全自动化开发和测试环境,因此开发人员只需在更改中检查,并为验收测试设置环境。

以下 有关持续交付的 Microsoft 模式和做法电子书 的示意图说明了典型的工作流。 单击图像以查看其原始上下文中的完整大小。

持续交付工作流

云如何实现经济高效的 CI 和 CD

在 Azure 中自动执行这些过程非常简单。 由于你在云中运行所有内容,因此无需为生成或测试环境购买或管理服务器。 而且,无需等待服务器可用即可执行测试。 每次生成时,都可以使用自动化脚本在 Azure 中启动测试环境,针对它运行验收测试或更深入的测试,完成后只需将其拆除即可。 如果只运行该服务器 2 小时、8 小时或一天,则需要支付的金额是最小的,因为你只需为计算机实际运行的时间付费。 例如,如果从免费级别向上升级一层,则修复应用程序所需的环境大约每小时花费 1%。 在一个月的时间里,如果你一次只运行环境一小时,你的测试环境的成本可能低于你在星巴克购买的拿铁。

Azure DevOps Services

Azure DevOps Services提供了许多功能来帮助你开发应用程序,从规划到部署。

  • 它支持 Git (分布式) 和 TFVC (集中式) 源代码管理。
  • 它提供弹性生成服务,这意味着它会在需要时动态创建生成服务器,并在完成后将其关闭。 当有人签入源代码更改时,你可以自动启动生成,并且你不必为大部分时间处于空闲状态的你自己的生成服务器分配和付费。 只要不超过一定数量的生成,生成服务就是免费的。 如果希望执行大量生成,则可以为保留的生成服务器额外支付一点费用。
  • 它支持持续交付到 Azure。
  • 它支持自动负载测试。 负载测试对云应用至关重要,但通常会被忽视,直到为时已晚。 负载测试模拟成千上万的用户大量使用应用,使你能够在将应用发布到生产环境之前发现瓶颈并提高吞吐量。
  • 它支持团队会议室协作,方便小型敏捷团队的实时通信和协作。
  • 它支持敏捷项目管理。

有关 Azure DevOps Services 的持续集成和交付功能的详细信息,请参阅 Azure DevOps 文档

如果你正在寻找一个交钥匙的项目管理、团队协作和源代码管理解决方案,检查Azure DevOps Services。 在 Azure DevOps Services 注册。

总结

前三种云开发模式是关于如何在短周期时间内实现可重复、可靠、可预测的开发过程。 在下一章中,我们将开始了解体系结构和编码模式。

资源

有关详细信息,请参阅在 Azure 应用服务 中部署 Web 应用

另请参阅以下资源: