持续集成:部署发布篇

栏目: 服务器 · 发布时间: 5年前

内容简介:提交出用户满意的、高质量的工作软件是研发的终极目标,能够随时随地提供可工作的软件,不仅减轻“终极构建”发行噩梦在开发同学心中的阴影,也有助于项目经理把控版本发布节奏。那么,持续部署和发布在持续集成中应该如何执行呢?典型的部署工作由以下部分组成:

提交出用户满意的、高质量的工作软件是研发的终极目标,能够随时随地提供可工作的软件,不仅减轻“终极构建”发行噩梦在开发同学心中的阴影,也有助于项目经理把控版本发布节奏。

那么,持续部署和发布在持续集成中应该如何执行呢?

典型的部署工作由以下部分组成:

1)为库中的资产打上标签

2)得到干净的环境,避免不当的假定

3)直接从版本控制库中取出软件,生成构建版并为他提供标签,在目标机器上安装

5)在生产环境的克隆环境中成功地执行所有级别测试

6)创建构建反馈报告

7)可以利用版本控制库中的标签回滚构建版

通过上述步骤,可通过执行完全自动化的构建,包括编译、所有测试、审查、打包和部署,在所有已知环境随时发布能工作的软件。

为库中资产打标签

创建版本控制库的标签有利于标识并追踪资产,清楚地说明一组文件是在一起的。标签使我们可追踪一组文件的历史,而不仅仅是单个文件历史。

通过及时创建快照,可以使新版本代码的过渡更顺利。打标签可以采取不同风格,最简单的命名格式为:

主版本号“_”(或“.”)次版本号(如2_89 、2.89)

得到干净的环境

在一个环境中试图部署软件,发现环境中操作系统、数据库或服务器版本不一样,是一件令人很头疼的事情。

想要得到一个干净的环境要删除并重装软件、执行脚本并配置值,确保环境按照期望地去工作。删除机器上所有软件后重新安装的内容有:

1)操作系统

2)操作系统的配置,网络连接、用户、防火墙等

3)软件所需的服务组件,应用服务器、数据库服务器、消息服务器等

4)服务器配置

5)第三方工具

6)定制的软件

有可能只需要删除上述其中一个内容,删除并重装多少内容取决于对风险级别的要求。这个过程自动化程度越高越好。

每个构建版本打标签

为每一个构建版创建唯一的标识符,即“构建版标签”,为二进制制品打上标签:

1)版本控制库中的代码需要一个标签

2)代码的构建动作需要一个标签

这些构建标签让大家知道在特定环境下使用了什么版本的代码,通过这些构建标签,缺陷、功能和新需求都可以用这一份代码作为依据。

执行所有测试

在持续构建过程中,可能只需要执行部分测试,但在打包部署前必须执行所有测试并通过。包括:单元测试、组件测试、系统测试、功能测试、性能测试、负载测试及其他类型测试,确保软件已准备好交付。

除了自动化测试外,还需要由人来进行测试,因为产品的最终用户是人。

所有测试审查执行完成后,需要生成自动化构建的反馈信息表,包括本次构建版中哪些文件不同、修复了哪些缺陷、实现了哪些功能,让大家理解将要发布的构建版的确切情况。

需要有的报告应当有:文件差异报告、缺陷修复报告等,这些报告可能对QA团队有所帮助。

可回滚构建过程

能够“撤销”部署是有效开发中的重要一环。出现问题的可能性总是存在的,所以要利用构建标签来回滚那些不该提交到版本控制库的变更。


以上所述就是小编给大家介绍的《持续集成:部署发布篇》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

你不知道的JavaScript(上卷)

你不知道的JavaScript(上卷)

[美] Kyle Simpson / 赵望野、梁杰 / 人民邮电出版社 / 2015-4 / 49.00元

JavaScript语言有很多复杂的概念,但却用简单的方式体现出来(比如回调函数),因此,JavaScript开发者无需理解语言内部的原理,就能编写出功能全面的程序;就像收音机一样,你无需理解里面的管子和线圈都是做什么用的,只要会操作收音机上的按键,就可以收听你喜欢的节目。然而,JavaScript的这些复杂精妙的概念才是语言的精髓,即使是经验丰富的JavaScript开发者,如果没有认真学习也无......一起来看看 《你不知道的JavaScript(上卷)》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试