使用Azure应用服务开发持续交付的管道

简介:

一般而言,企业用户会希望加速云应用的部署,而持续交付就可以实现这一目标。本文将介绍如何使用Azure应用服务来开发一个持续交付管道。

对于那些想要通过持续交付管道在云中部署网络、移动或API应用的用户来说,微软公司的Azure应用服务是一个不错的选择。

无论是一名开发人员还是一名运营工程师,Azure应用服务都能够让他能够更为快捷地完成应用开发或部属。同时,因为它是一个完全托管的平台,所以团队成员们可以更多地关注他们的应用,而不会因为因为开发和维护可扩展性和高可用性基础设施所需的所有复杂性而陷入泥潭。

例如,没有运营人员的小型开发团队就可以使用Azure应用服务来加速应用的部署,因为不需要实际的服务器、网络和存储资源。而对于拥有专门运营人员的企业,Azure应用服务可以减少对诸如备份和打补丁之类耗时费力管理任务的需求,微软完全接管并执行这些任务。

此外,团队现在可以使用Azure应用服务和Visual Studio Team Services (VSTS)来实现持续交付。VSTS则是微软公司另一个基于云的服务,它能够让团队开展项目合作,并提供版本控制、持续集成、发布管理等服务。

Azure应用服务中的持续交付工作流流程

持续交付管道背后的理念就是让团队更自信地部署应用变更。它不是一个特定供应商的概念,它也不是依赖于一套特定的工具。相反,持续交付是一个流程,它可确保团队在考虑这些生产就绪变更之前对代码库的频繁变更进行验证和测试。VSTS 只是一个开发团队能够用于创建持续交付管道的产品,但它提供了能够让新用户轻松上手的一些强大功能和一个设置过程。

为Azure应用服务的网络应用开发一个持续交付管道可以包括如下阶段:

  • 编写应用代码:在这个阶段,一个或多个开发人员可主动地进行应用代码开发。而应用代码会被保存在版本控制库中。当一个团队对代码库做出小的增量变更时,这些变更会被提交并推送至版本控制库。
  • 开发:对保存在版本控制库中应用的任何变更都会自动触发一个代码编译并选择性运行单元测试的流程。由于开放人员会在代码库中进行小增量的变更,所以他们能够快速的找到该模式中的任何问题。这前两个阶段基本上是持续集成的基础。关于新功能变更是否成功或失败的快速反馈可以让开放人员快速地执行应用迭代开发。
  • 测试:在下一阶段,团队可以执行可选的负载测试以确保最新版本的应用已经做好了生产就绪准备。为了做到这一点,可将最新版本的代码部署至专为负载测试而开发的Azure应用服务网络应用。
  • 部署:最后,一旦用户完成了持续交付管道开发中的所有阶段工作,就要部署最新版本应用。团队可以选择将最新版代码部署至生产环境或一个分段环境。无论是采用何种方式,这都是管道的末端,因为此时的源代码已被视为生产就绪。如果自动化部署将代码推送至分段环境,那么当团队准备好使用最新版本的应用时,他们就可以使用生产环境替代分段环境了。

为网络应用设置持续交付管道

如需测试此过程,可采用默认项目模板来使用Visual Studio 2015中内置的基本ASP.NET MVC网络应用。当然,还需在Azure应用服务中设置两个网络应用:一个用于生产应用,另一个用于负载测试。

如需开始使用,可访问用户在Azure门户网站中的生产网络应用。选择部署选项卡中的持续交付(预览)选项,如图1所示。点击配置。

图1 持续交付的配置

接下来,可以看到持续交付管道中需要配置的每个阶段,如图2所示。

 

图2 查看持续交付的各个阶段

点击“选择库”的第一个选项。这个操作可以让用户自行定义版本控制库。目前的有效选项包括VSTS Git、GitHub或一个外部/内部Git库。在本文的示例中,示例应用已被保存在GitHub中了。

当用户选择GitHub作为源时,系统将提示输入用户的GitHub凭据。一旦通过验证,可选择用户的源代码库以及相应分支。在本文的示例中,代码被直接变更至主分支,如图3所示。

图3源阶段的设置

至此,我们已经定义了源阶段,接下来可以设置开发阶段。在本文示例中,我们将选择合适的应用框架,即ASP.NET。另外,还选择创建了一个新的VSTS账户,如图4所示。

图4开发阶段的设置

如果之前已经创建并使用VSTS账户,那么现在可以选择使用这个已有选项。另外,可根据用户所在位置选择一个具有重要意义的区域。

之后,我选择设置负载测试,如图5所示。这不是必选项,但为了进行更好的演示,我们在通道里使用另一个为负载测试而单独创建的网络应用来启用此阶段。

图5测试阶段的设置

如图6所示对部署阶段进行配置。默认情况下,部署至分段环境的选项设置是否。这意味着,一旦所有其他阶段都成功完成,代码变更将会自动部署至生产网络应用。

图6 部署阶段的设置

果用户希望首先部署至分段环境,只需简单地在图6所示的部署页面选择“是”即可。这就可以让用户选择一个新的或为这个网络应用配置过的现有分段环境。在设置部署选项之后,点击OK,Azure会在VSTS中完成构建持续交付管道。这个初始配置会触发管道的执行,同时用户也能够在VSTS控制台上查看开发和发布的阶段。

从这一点开始,提供给源代码库的代码会再次触发管道中的开发、测试和部署阶段。应用的新版本也可在网络应用的分段环境中可用。最后,只要团队做好了将变更推向其他环境的准备,那么就可以将分段环境中的应用可部署版本发布至生产环境。

请注意,Azure应用服务中的持续交付功能仍在试用阶段,上述提及流程有可能在正式发布时有所变更。


本文作者:Mike Pfeiffer

来源:51CTO

相关文章
|
4月前
|
运维 Kubernetes 监控
|
7月前
|
监控 安全 数据可视化
软硬件网关编排平台工具
软硬件网关编排平台工具
|
存储 Prometheus Kubernetes
分布式应用打包交付运行的解决方案sealer
通过把分布式应用及其数据库中间件等依赖一起打包以解决复杂应用的交付问题。
|
存储 JSON 运维
aws编写基础架构
aws编写基础架构
164 0
|
数据采集 运维 监控
自动化运维平台设计之【文件分发】
本文介绍自动化运维平台设计中的四种文件分发的工具:Ansible、SaltStack、蓝鲸作业平台、P2P。
1578 0
|
存储 Prometheus Kubernetes
集群镜像:实现高效的分布式应用交付
Docker 解决了单个容器的镜像化问题,而 sealer 通过把整个集群打包,实现了分布式软件的 Build Share Run。
1924 7
集群镜像:实现高效的分布式应用交付
|
消息中间件 Kubernetes Cloud Native
sealer 成为 CNCF Sandbox 项目,旨在构建分布式应用交付新标准
sealer 的核心理念是像 Docker 一样构建整个集群以及分布式应用,在整个集群纬度保障一致性,实现整个集群里所有分布式软件的 Build、 Share、 Run!
sealer 成为 CNCF Sandbox 项目,旨在构建分布式应用交付新标准
|
SQL 人工智能 Kubernetes
微软为容器扩展 Azure 服务组合,发展基于微服务的云原生应用程序
在Microsoft Build 2022大会上,微软宣布基于 Kubernetes 的无服务器计算框架Azure Container Apps已全面上线。
188 0
|
存储 数据采集 安全
在AWS上的架构部署与设计
本次分享主要介绍在 AWS 平台上构建 IT 基础设施的基础知识, 您将通过了解各项 AWS 服务及其如何融入基于云的解决方案来了解如何优化 AWS 云。涵盖最佳实践和设计模式,以帮助您在 AWS 云上构建最佳的 IT 解决方案。
在AWS上的架构部署与设计
|
运维 Kubernetes Cloud Native
KubeVela 成为 CNCF 沙箱项目,让云端应用交付更加简单
KubeVela 就是这样一个面向用户的上层平台项目。对于业务开发者来说,KubeVela 简单、易用,它可以让开发者以极低的心智负担和上手成本在 Kubernetes 上定义与部署应用... 但更重要的是,对于平台团队来说,KubeVela 可不是一个简单的 PaaS 或者 Serverless,它是一个能够以 Kubernetes 原生的方式进行任意扩展的 PaaS 内核,平台工程师可以基于它构建出任意的垂直业务系统。
KubeVela 成为 CNCF 沙箱项目,让云端应用交付更加简单