内容简介:提交出用户满意的、高质量的工作软件是研发的终极目标,能够随时随地提供可工作的软件,不仅减轻“终极构建”发行噩梦在开发同学心中的阴影,也有助于项目经理把控版本发布节奏。那么,持续部署和发布在持续集成中应该如何执行呢?典型的部署工作由以下部分组成:
提交出用户满意的、高质量的工作软件是研发的终极目标,能够随时随地提供可工作的软件,不仅减轻“终极构建”发行噩梦在开发同学心中的阴影,也有助于项目经理把控版本发布节奏。
那么,持续部署和发布在持续集成中应该如何执行呢?
典型的部署工作由以下部分组成:
1)为库中的资产打上标签
2)得到干净的环境,避免不当的假定
3)直接从版本控制库中取出软件,生成构建版并为他提供标签,在目标机器上安装
5)在生产环境的克隆环境中成功地执行所有级别测试
6)创建构建反馈报告
7)可以利用版本控制库中的标签回滚构建版
通过上述步骤,可通过执行完全自动化的构建,包括编译、所有测试、审查、打包和部署,在所有已知环境随时发布能工作的软件。
为库中资产打标签
创建版本控制库的标签有利于标识并追踪资产,清楚地说明一组文件是在一起的。标签使我们可追踪一组文件的历史,而不仅仅是单个文件历史。
通过及时创建快照,可以使新版本代码的过渡更顺利。打标签可以采取不同风格,最简单的命名格式为:
主版本号“_”(或“.”)次版本号(如2_89 、2.89)
得到干净的环境
在一个环境中试图部署软件,发现环境中操作系统、数据库或服务器版本不一样,是一件令人很头疼的事情。
想要得到一个干净的环境要删除并重装软件、执行脚本并配置值,确保环境按照期望地去工作。删除机器上所有软件后重新安装的内容有:
1)操作系统
2)操作系统的配置,网络连接、用户、防火墙等
3)软件所需的服务组件,应用服务器、数据库服务器、消息服务器等
4)服务器配置
5)第三方工具
6)定制的软件
有可能只需要删除上述其中一个内容,删除并重装多少内容取决于对风险级别的要求。这个过程自动化程度越高越好。
每个构建版本打标签
为每一个构建版创建唯一的标识符,即“构建版标签”,为二进制制品打上标签:
1)版本控制库中的代码需要一个标签
2)代码的构建动作需要一个标签
这些构建标签让大家知道在特定环境下使用了什么版本的代码,通过这些构建标签,缺陷、功能和新需求都可以用这一份代码作为依据。
执行所有测试
在持续构建过程中,可能只需要执行部分测试,但在打包部署前必须执行所有测试并通过。包括:单元测试、组件测试、系统测试、功能测试、性能测试、负载测试及其他类型测试,确保软件已准备好交付。
除了自动化测试外,还需要由人来进行测试,因为产品的最终用户是人。
所有测试审查执行完成后,需要生成自动化构建的反馈信息表,包括本次构建版中哪些文件不同、修复了哪些缺陷、实现了哪些功能,让大家理解将要发布的构建版的确切情况。
需要有的报告应当有:文件差异报告、缺陷修复报告等,这些报告可能对QA团队有所帮助。
可回滚构建过程
能够“撤销”部署是有效开发中的重要一环。出现问题的可能性总是存在的,所以要利用构建标签来回滚那些不该提交到版本控制库的变更。
以上所述就是小编给大家介绍的《持续集成:部署发布篇》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 持续集成与持续部署宝典Part 3:创建集成环境
- 持续集成与持续部署宝典Part 2:创建持续集成流水线
- Docker的持续集成和持续部署
- 持续集成和部署方面的3个最佳实践
- Piplin 1.0.2 发布,持续集成与部署系统
- 『中级篇』CI/CD持续集成/持续部署(69)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
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 代码
Markdown 在线编辑器
Markdown 在线编辑器