基础篇
第一章:软件交付的问题
第二章:配置管理
第三章:持续集成
第四章:测试策略的实现
部署流水线
第五章:部署流水线解析
第六章:构建与部署的脚本化
第七章:提交阶段
第八章:自动化验收测试
第九章:非功能需求的测试
第十章:应用程序的部署与发布
交付生态圈
第十一章:基础设施与环境管理
第十二章:数据管理
第十三章:组件和依赖管理
第十四章:版本控制进阶
第十五章:持续交付管理

文章作者: Michael Pan
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michael Blog!
相关推荐
2020-05-20
持续交付发布可靠软件的系统方法(部署流水线)第十章:应用程序的部署与发布
《持续交付发布可靠软件的系统方法》读书笔记 引言发布到生产环境和部署到测试环境的差异应该被封装在一组配置文件中,遵循一样的部署过程。启动自动部署系统,将要部署的软件版本与环境名称告诉它,点击开始,后缀部署与发布使用相同的流程。我们需要有一个列表,其中包含能够部署到每个环境的所有构建,并且只要通过点击就可以选择一个软件版本向某个环境进行自动部署。同时这种方式是对环境修改的唯一途径(包括对操作系统和第三方软件配置的修改)。 创建发布策略(文档) 每个环境的部署由发布由谁负责 创建一个资产和配置管理策略 部署时所用的技术的描述。运维团队与开发团队应对其达成共识 实现部署流水线的计划 枚举所有的环境,包括用于验收测试、容量测试、集成测试、用户验收测试的环境,以及每个构建在这些环境中的移动过程 描述在测试和生产环境中部署时应该遵循的流程,比如一个变更申请,及申请授权等 对应用程序的监控需求,包括用于通知运维团队关于应用程序相关状态的API和服务 讨论部署时和运行时的配置方法如何管理,以及它们与自动化部署流程是如何关联在一起的 描述应用程序如何与所有外部系统集成 如何记录日志详情,以便运维人...
2020-05-20
测试工具汇总
压力测试JmeterJmeter简单介绍与搭配Jenkins实现自动化测试实践使用JMeter进行负载测试——终极指南 LocustLocust学习总结分享性能测试工具LocustLocust 系列教程 LoadRunnerUsing LoadRunner with Jenkins 接口测试Robot FrameworkRobot Framework 在 Jenkins 上的自动化测试
2020-05-20
Git-+-Jenkins-提交Git-触发Jenkins-Job
利用git的Hook机制 .git/hooks/pre-push 123#!/bin/bashecho ====== trigger jenkins job: maglev-verify in 10s =======(sleep 10 && .git/hooks/post-push) & .git/hooks/post-push 123#!/bin/bashbranch=$(git rev-parse --abbrev-ref @{upstream})curl -k --user ${USER}=${TOKEN} http://${JENKINS_URL}/job/${JOB_NAME}/buildWithParameters --data-urlencode TAG=$branch
2020-05-20
持续交付发布可靠软件的系统方法(基础篇)第一章:软件交付的问题
《持续交付发布可靠软件的系统方法》读书笔记 软件构成部分:可执行的代码、配置信息、运行环境、数据 不同环境下只进行一次编译 对环境的任何修改都应该作为配置信息管理,配置信息的更改都需要经过测试 如果运行环境需要修改,则修改后的环境也需要进行测试。环境包括:操作系统配置、应用程序依赖的软件集、网络配置及任何基础设置、外部系统 数据结构发生变化,同样需要经过测试 反馈流程:指完全以自动化的方式尽可能地测试每一次变更 创建可执行代码的流程 单元测试 质量检测:测试覆盖率以及其他与技术相关的度量项 功能测试验收 性能、有效性、安全性等非功能测试 探索性测试,给客户/最终应用演示 自动化测试反馈【commit阶段】 运行速度快 尽可能全面,75%代码库覆盖率 环境中立,相对生产环境简单廉价 如果出现问题,绝不发布【commit之后测试】 运行速度慢一些,适合并行执行 即使有些测试问题,也可以发布应用程序 运行环境尽可能与生产相同 不同版本、不同环境的配置放在版本控制中 开发人员都拥有自己的专属开发环境 无论部署在什么目标环境都应采用同一种部署方法 开发环境是特例,可以有多...
2020-05-20
Openshift上使用Nginx-Pod作灰度发布
参考文章:使用 Nginx 实现灰度发布 什么是灰度发布 **【百度百科】**灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。 在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。 除了AB test灰度发布另一种思想是,只发布给一小部分用户,如:App在发布之前,针对性的给一小批用户测试下新版本,用小流量发布的方式来检验新版会不会有问题。 灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。 Openshift上实现蓝绿部署 在openshift上的部署两个版本的Service:service01, service02。在创建Route的时候,可以非常简单地指定同一个Route流量访问两个service的百分比service01(25%流量), service02(75%流量)。所有请求该Route的流量会被按指定的比例访问后service。 对应的Route yaml配置文...
2020-05-20
SonarQube应用离线安装插件
SonarQube的插件地址为:https://binaries.sonarsource.com/Distribution/将下载的插件文件存放在SonarQube应用的/opt/sonarqube/extensions/plugins目录下。 参考文章Sonar 离线安装插件
