持续集成:部署发布篇

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

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

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

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

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

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

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

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

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

6)创建构建反馈报告

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

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

为库中资产打标签

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

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

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

得到干净的环境

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

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

1)操作系统

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

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

4)服务器配置

5)第三方工具

6)定制的软件

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

每个构建版本打标签

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

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

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

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

执行所有测试

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

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

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

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

可回滚构建过程

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


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

查看所有标签

猜你喜欢:

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

D3.js in Action

D3.js in Action

Elijah Meeks / Manning Publications / 2014-3 / USD 44.99

Table of Contents Part 1: An Introduction to D3 1 An introduction to D3.js 2 Information Visualization Data Flow 3 D ata-Driven Design and Interaction Part 2: The Pillars of Information......一起来看看 《D3.js in Action》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

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

Markdown 在线编辑器