持续交付:自动化部署流水线 - micro focus · 2018. 10. 2. · w . mi cr of us 5...

Post on 15-Oct-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

持续交付:自动化部署流水线

白皮书部署自动化

目录 页码

持续交付的价值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

构建与部署之间的脱节 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

自动化和集成部署流水线 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

集成整个工具链 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

建模、管理和可视化部署流水线 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

以应用程序为中心的部署自动化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1www.microfocus.com

持续交付的价值

持续交付是一种需要您构建并部署随时可以投入生产软件的软件交付实践。为了满足

这一需求,您需要持续集成开发、构建和测试方面的软件变更并部署可执行文件,同

时在企业需要时为投入生产做好准备。这是当今企业 IT 部门交付大多数软件的方式

的主要变化。

为什么持续交付对企业 IT 部门如此重要?因为它能使企业以更低成本提升产品质

量,与此同时对其客户的期望迅速作出反应。

_______________________________________________________________

图 1

对持续交付的需求

持续交付使企业能够在

以更低成本提升产品质

量的同时对其客户的期

望迅速作出反应。

2

白皮书持续交付:自动化部署流水线

持续交付的目的是寻求以有效、迅速而可靠的方式交付高质量、有价值的软件的方

式。持续交付与上市速度、迅速从白板到推广并先于您的竞争对手息息相关。这一上

市速度意味着更短的反馈环和更快地实现价值。有了更短的反馈环,您将更快发现故

障,从而更快修复、更快调整并更快取得成功。这种敏捷性提供了明显的业务竞争优

势,这就是为什么 Amazon 和 Netflix 等公司在各自的竞争环境中处于支配地位、过

渡到邻近市场并占市场领导地位的原因。这些公司能够更快地适应不断变化的市场,

并且比其竞争对手更快地交付新功能和服务。

持续交付的主要模式是部署流水线,即自动实施应用程序的构建、部署、测试及发布

流程。无论何时对应用程序进行变更,部署流水线都能将其实例化。

_______________________________________________________________

持续交付与上市速度、

迅速从白板到推广并先

于您的竞争对手息息相

关。这一上市速度意味

着更短的反馈环和更快

地实现价值。

图 2

部署流水线高级概览

3www.microfocus.com

虽然部署流水线是开发到发布软件的有效模式,但在整个企业中映射自动化部署流水

线极具挑战性。企业倾向于采用更渐进的方式迈出第一步,以开发和构建流程为起

点,以持续集成(部署流水线的基础)为终点。

构建与部署之间的脱节

部署流水线的基础是持续集成流程。没有持续集成 (CI) 就没有持续交付。持续集成

使得开发团队能够将集成自动化、在开发环境中构建并测试代码。利用 Jenkins 这样

的 CI 服务器可以集成开发和构建环境并将它们自动化。多种途径可以触发构建,例

如在版本控制系统中提交、通过类似 cron 的机制进行时间安排、在其他构建完成时

执行新构建或通过请求具体的构建 URL。

_______________________________________________________________

没有持续集成 (CI) 就没有持续交付。持续集成

使得开发团队能够将集

成自动化、在开发环境

中构建并测试代码。

图 3

组织间流程的脱节阻碍了持续交付

4

白皮书持续交付:自动化部署流水线

尽管开发团队负责开发

和构建流程,但开发流

程通常会过渡到另一组

织,他们有一套不同的

工具、脚本和流程来部

署和测试部署流水线上

的这些构建。

问题是在许多软件项目中,构建一旦完成,构建和部署流程之间会存在较大的脱节。

尽管开发团队负责开发和构建流程,但开发流程通常会过渡到另一组织,他们有一套

不同的工具、脚本和流程来部署和测试部署流水线上的这些构建。通常,工具链与

CI 服务器的集成极差或根本不存在。交接工作名存实亡,开发团队开始手动密集型

流程,以向测试和生产环境部署候选版本。随着等待部署的队列越来越长,这种脱节

逐渐成为瓶颈,导致企业成本增高、部署质量降低且周期时间延长。

自动化和集成部署流水线

Micro Focus 的部署自动化产品能够与 Jenkins 等持续集成工具无缝协作,从而解决

这一脱节问题并实现整个部署流水线的自动化。部署自动化通过以应用程序为中心的

角度集成整个工具链、管理并可视化整个流水线的候选版本部署,从而弥合了开发和

运营之间的鸿沟。

_______________________________________________________________

5www.microfocus.com

集成整个工具链

部署自动化通过提供灵活、强劲而可扩展的插件体系架构支持 80 多种工具链的集

成。这些插件提供基本的处理功能并能够与第三方工具集成。部署自动化随附用于许

多常见部署流水线的插件,现成的其他插件适用于各种工具,例如测试工具、中间件

工具、数据库、服务器及其他部署目标。

部署自动化随附用于许

多常见部署流水线的插

件,现成的其他插件适

用于各种工具,例如测

试工具、中间件工具、

数据库、服务器及其他

部署目标。

图 4

通过部署自动化实现部署流水线的自动化

_______________________________________________________________

6

白皮书持续交付:自动化部署流水线

要与 Jenkins 集成,只需下载、安装并配置 Deployment Automation Jenkins 插件

即可。部署自动化能够与自动化测试工具集成并可以在部署流程中启动自动化测试。

您还可以通过使用 Chef、AWS 或 VMware 插件自动化整个应用程序堆栈的配置。有

关受支持的插件的完整列表,请访问我们的文档中心。

建模、管理和可视化部署流水线

部署流水线建立了将软件从版本控制交付给您的客户的过程的模型。每次进行更改时

都会实例化新的部署流水线。根据应用程序和更改,部署流水线可能会分支到不同所

需环境和路径。对这些环境的部署可以是顺序、并行或以手动选择的可选阶段提供。

要管理的部署流水线的数量可能会有所增加,具体取决于应用程序、团队、需求和环

境的数量。

部署自动化可帮助您轻松、全面地管理所有部署流水线。您可以轻松创建、导入、导

出和可视化所有部署流水线和相关联的环境。您可以选择仅在流水线的第一个环境中

请求部署流程。此后,您只能在后续环境中进行推广。这有助于确保为流水线中的各

个环境使用相同的配置。

如果已将候选版本成功部署到第一个环境中,则在选择自动推广时将自动推广候选版

本。成功部署到该环境后,应用程序将被自动推广到流水线序列中的下一环境中。如

果每次推广都成功,则将从一个环境继续自动推广到另一环境,直到推广到流水线中

的最后一个环境。

部署流水线视图提供了各个流水线中的各个环境是如何使用的整体视图,您可以在单

个产品中快速了解部署了什么以及部署的位置。

部署自动化可帮助您轻

松、全面地管理所有部

署流水线。

7www.microfocus.com

确保一起部署那些一起测

试的应用程序组件也非常

重要。部署自动化通过支

持应用程序流程和快照解

决了这一问题。

以应用程序为中心的部署自动化

如今的应用程序包含的组件可能从多个不同来源提取并部署到不同应用程序层、平台

和资源。协调和编制在成功部署这些应用程序中至关重要。确保一起部署那些一起测

试的应用程序组件也非常重要。部署自动化通过支持应用程序流程和快照解决了这一

问题。

应用程序流程可以手动运行、在某些触发条件下自动运行或以用户定义的计划表运

行。当为组件定义了多个流程时,应用程序将确定执行哪些流程以及以什么顺序执

行。例如,某个 n 层应用程序可能具有 Web 层和数据库层。一旦获得批准,Web 层

和数据库层将同时进行部署。应用程序流程调用包含将组件部署到特定资源的所有部

署步骤的相关联的组件流程。

快照表示某个应用程序在环境中的当前状态。快照指定您要一起部署哪些组件版本的

组合。它们是您在部署应用程序之前创建的模型。快照指定了应用程序中的各个组件

的确切版本。创建快照时,部署自动化将收集有关应用程序的信息,其中包括给定环

境的组件版本。

对于大多数用户而言,快照是通过流水线获取的。快照是基于应用程序在环境中的状

态创建的,从而捕获组件当时的不同版本。

摘要

持续交付能够大大改善您为客户提供价值的方式,但是实施起来却十分具有挑战性。

许多组织已实施持续集成(持续交付的基础),但无法无缝地过渡和自动化部署和发

布流程。部署自动化可以从以应用程序为中心的角度集成、管理和自动化整个部署流

水线。

162-CN0098-001 | S | 03/17 | © 2017 Micro Focus。保留所有权利。Micro Focus 和 Micro Focus 等徽标是 Micro Focus 或者其子公司或附属公司在英国、美国和其他国家/地区的商标或注册商标。其他所有商标均为其各自所有者的财产。

www.microfocus.com

班加罗尔+91 80 4002 2300

北京+86 10 6533 9000 广州+86 20 3877 1892

香港 +852 3978 2339

马来西亚 +60 3761 00214

上海+86 21 5174 8788

深圳+86 755 8282 2655

Micro Focus英国总部+44 (0) 1635 565200

www.microfocus.com

top related