自动化将 Spring Boot 应用程序部署到 Azure!

工程 | Josh Long | 2021年5月13日 | ...

今天,我们很高兴地宣布用于将 Spring Boot 应用程序部署到 Azure Spring Cloud 的 Azure Pipeline Task 现已可用。您可以使用 Azure Spring Cloud task 构建您的管道,将 Spring Boot 应用程序自动化部署到任意数量的环境和 Azure 区域。

在过去 18 个月里,我们与许多企业客户合作,了解他们的场景,包括关于如何实现从构思到预置 Azure 资源、构建 Spring Boot 应用程序再到将其部署到生产环境的端到端自动化。其中许多客户在本地数据中心运行着数千个 Spring Boot 应用程序。当他们将这些应用程序迁移到云端时,需要对一切进行端到端自动化,以确保可重复性,并满足其 IT 部门和/或监管机构设定的要求。他们需要一个功能齐全的持续集成/持续交付 (CI/CD) 服务,能够自动将更新的 Spring Boot 应用程序部署到 Azure Spring Cloud。在许多客户环境中,他们使用 Azure Pipelines 中的 Azure CLI 将 Spring Boot 应用程序自动化部署到 Azure,他们请求 Microsoft 提供一个 Azure Spring Cloud task,以减轻他们的自动化工作量,并将部署 task 的维护委托给 Microsoft。现在,使用新的 Azure Spring Cloud task,任何人都可以自动化地直接部署到生产环境,或自动化地使用蓝绿部署策略先部署到预演环境进行测试,然后再设置为生产环境。

"我们很高兴看到进一步的增量改进和简化,我们计划很快迁移我们的管道以使用现成的 task。" – Jonathan Jones,首席解决方案架构师,Swiss Re Management Ltd. (瑞士)

 

"Azure Spring Cloud 使 Spring Boot 应用程序易于在 Azure 上部署,并提供了许多出色的功能,例如 App Insights、使用 Azure 虚拟网络的网络隔离、蓝绿部署,这些功能帮助我们轻松部署和监控我们的应用程序。随着 Azure Spring Cloud 的每一次发布,我们都能发现集成和部署应用程序变得更加容易。" - Shyam Kumar Sundarakumar,高级解决方案架构师,HCL Technologies Ltd (印度)。

 

"Azure Pipelines Tasks for Azure Spring Cloud 极大地简化了创建自动化 CI/CD 管道以部署 Spring Boot 应用程序的过程。这些新 task 有助于降低成本、精力和时间,并增加了 Spring Boot 应用程序部署的健壮性。这些服务将帮助 Insight 指导他们的客户在 Azure Spring Cloud 中实现工作负载的端到端自动化。" – Dan Lange,首席架构师,Insight (美国)

 

"随着 Azure Pipelines 引入 Azure Spring Cloud Task,Microsoft 消除了为 Azure 中的 Spring Boot 应用程序开发和维护蓝绿部署脚本的痛苦。这些新功能将使 Kin + Carta 能够帮助客户自动化 CI/CD 管道,包括生产和预演部署的创建、分配和维护。" – Sudeep Moothedath,企业架构师,Kin + Carta (美国)

 

"Microsoft 将继续增强对 Spring Cloud 的支持!通过为 Azure Spring Cloud 添加 Azure DevOps pipeline task,Microsoft 消除了创建高度灵活的 Spring Cloud CI/CD 管道的又一个障碍。Azure DevOps pipeline tasks 使开发人员可以将 Spring Cloud 应用程序部署到任意数量的环境,同时专注于他们的应用程序逻辑,并将基础设施和管道任务的维护交给 Microsoft 处理。" – Armando Guzman,统一商务部首席软件工程师,Raley's (美国)

 

"我们对 Azure Pipelines Task for Azure Spring Cloud 感到非常高兴。它集成度很高,通过提供相关的可选参数,可以轻松地部署到 Azure Spring Cloud。它们对于管理我们各种应用程序的部署以及在多个环境中切换应用程序非常有用,无需编写任何 CLI 语句。" – Georg Deschler 和 Philipp Stussak (德国)

自动化蓝绿应用程序部署策略

Azure Spring Cloud Standard 允许每个应用程序有两个部署。在这两个部署中,一个接收 生产环境 流量。第二个部署指定用于 预演环境。您可以通过为每个应用程序创建两个固定部署,并自动化部署到 预演环境 部署,来实现简单的蓝绿策略。当您对 预演环境 中的部署有信心时,可以将其设置为 生产环境。您可以在 Azure Pipelines 中使用新的 Azure Spring Cloud task 来实现此策略。

阶段 1 – 自动化部署到预演环境部署。

当您运行管道时,可以通过 Azure Pipelines Logs 查看进度,如下所示。

阶段 2:将之前的部署设置为生产环境。

对于开发和测试环境,如果中断不是关键路径上的问题,您可以实现蓝绿部署策略,也可以直接将应用程序部署到接收 生产环境 流量的部署。新的 Azure Spring Cloud task 也支持将应用程序部署到接收生产环境流量的部署。

实现端到端自动化 – 从构思到生产环境

当您将 Spring Boot 应用程序部署到 Azure Spring Cloud 和 Azure 时,可以使用您选择的任何自动化工具和平台(例如 Azure DevOps、Jenkins、Maven 或 Gradle),构建从构思到预置 Azure 资源、构建 Spring Boot 应用程序再到将其部署到生产环境的端到端自动化。您可以将此自动化策略应用于任何环境,包括开发、测试和生产环境,以及任何区域。

通常,开发人员通过使用可大致分为三类的多个管道实现端到端自动化

  • 预置 – 使用 TerraformARM template 和/或 Azure CLI 自动化预置 Azure 资源
  • 构建 – 使用 Maven 或 Gradle 自动化构建和存储二进制工件,例如 JAR 和 WAR 文件
  • 部署 – 使用 Azure Pipelines、GitHub Actions 和 Azure CLI 自动化部署。不中断生产环境流量的蓝绿部署策略非常受欢迎。使用 Azure Pipelines 的开发人员可以利用新的 Azure Spring Cloud task 自动化蓝绿部署策略。

立即了解更多关于 Azure Spring Cloud 的信息,并开始构建和自动化!

Azure Spring Cloud 由 Microsoft 和 VMware 联合构建、运营和支持。它是面向 Spring Boot 应用程序的完全托管服务。Azure Spring Cloud 抽象了基础设施管理和 Spring Cloud 中间件管理的复杂性,让您可以专注于构建业务逻辑,并由 Azure 处理动态扩展、补丁、安全、合规性和高可用性。只需几个步骤,您就可以预置 Azure Spring Cloud,创建应用程序,部署和扩展 Spring Boot 应用程序,实现端到端自动化并在几分钟内开始监控。我们将继续为 Azure Spring Cloud 带来更多对开发人员友好且企业就绪的功能。

开始使用 Azure Pipelines 的 Azure Spring Cloud task,自动化 Spring Boot 应用程序部署以及以下资源!

资源

订阅 Spring 邮件列表

保持与 Spring 邮件列表的联系

订阅

取得进展

VMware 提供培训和认证,助您突飞猛进。

了解更多

获取支持

Tanzu Spring 通过一项简单订阅,提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区的所有即将举行的活动。

查看全部