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

文章作者: Michael Pan
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michael Blog!
相关推荐

2020-05-20
系统性能测试与监测工具汇总
综合能力性能测试(Unixbench)1[root@localhost] $ ./Run 计算查看当前CPU负载(uptime)1[root@localhost] $ uptime 测试单cpu计算能力(bc)1[root@localhost] $ time echo "scale=5000;4*a(1)" | bc -l -q 内存查看当前内存使用的情况的状态(free)1[root@localhost] $ free -m 进程对内存的占用情况(pmap) 1[root@localhost] $ pmap -d 35713 # 查看进程35713占用内存的情况 磁盘磁盘IO测试(dd)测试磁盘的IO写速度 1# time dd if=/dev/zero of=test.dbf bs=8k count=300000 oflag=direct 测试磁盘的IO读速度 1# dd if=test.dbf bs=8k count=300000 of=/dev/null 表示每次写入/读取8k的数据,执行300000次 实时查看各磁盘的io(iostat)...

2023-12-13
Jenkins Pipeline局部变量
变量未定义在编写Jenkinsfile时,经常会遇到变量问题,明明已经定义过了,但是函数是就是无法读取。例如: 123456789101112131415161718def some_var = "some value"def pr() { def another_var = "another " + some_var echo "${another_var}"}pipeline { agent any stages { stage ("Run") { steps { pr() } } }} 将获得如下错误: 1groovy.lang.MissingPropertyException: No such property: some_var for cla...
2020-05-20
持续交付发布可靠软件的系统方法(部署流水线)第七章:提交阶段
《持续交付发布可靠软件的系统方法》读书笔记 提交阶段的运行应该少于5分钟,一定不要超过10分钏提交阶段的首要目标是创建可部署的产物 提交阶段的原则与实践 提供快速有用的反馈 何时令提交阶段失败 编译错误 测试失败(包括单元覆盖率低于60%) 精心对待提交阶段 提交阶段中有构建用的脚本和运行单元测试、静态分析等脚本。 随着项目的进行,不断改进提交阶段的脚本的质量、设计和性能 确保将脚本做成模块化,将那些经常使用且很少变化的常见任务与需要修改的任务分开 将部署流水线中不同阶段所用的代码分别写在不同脚本中 不要写出与具体环境相关的脚本,即要把具体环境配置与构建脚本分离 让开发人员也拥有所有权如果必要的话,即使是很普通的变更也都应该由开发人员和运维人员来执行 在超大项目团队中指定一个构建负责人 监督和指导对构建的维护 鼓励和加强构建纪律 在团队开始接触持续集成时,构建纪律还没建立起来时,提醒作用 团队成员轮流当,比如每星期轮换一次 提交阶段结果提交阶段的输入是源代码,输出是二进制包和报告(测试结果和代码分析报告) 制品库 制品库仅保存某些版本,而不是全部。如果在部署流水...

2020-05-20
ansible通过跳板机管理另一个网络下的主机集群
原文地址:http://wooooe.com/2018/07/31/remote_forwarding/ ssh端口映射例子 因为公司的网络比较深所以经常需要跳转多次。所以这次做个记录 需求: 需要从your host跳到client中间隔了两层跳板机。 如果单纯用代理方法只能跳一层 所以如果用端口映射+代理方式就可以跳两层了 映射命令 1ssh -g -f -NL 127.0.0.1:44010:172.16.3.14:22 -p 3391 jump_host1_username@222.222.222.222 意思就是将172.16.3.14的22端口映射到127.0.0.1的44010端口,222.222.222.222是中间的代理机,3391是222.222.222.222的ssh端口。 映射完成之后。执行 1ssh -p 44010 jump_host2_username@127.0.0.1 就可以直接跳转到jump_host2上 ssh走代理方法 第一种: 1ssh -o ProxyCommand="ssh -W %h:%p -p 339...
2020-05-20
Gitea访问使用KeyCloak作为用户管理
一、安装keyCloak 二、配置KeyCloak,添加ClientsClients -> createClient ID: devops-oidcEnabled: trueClient Protocol: openid-connectAccess Type: confidentialValid Redirect URIs: /* 三、配置Gitea,添加Authentication SourcesSite Administration -> Authentication Sources -> Add Authentication SourceOAuth2 Provider: OpenID ConnectClient ID(key): devops-oidcClient Secret: <keycload 中 devops-oidc Credentials中查询>OpenID Connect Auto Discovery URL: http:///auth/realms/master...

2020-05-20
《启示录:打造用户喜爱的产品》读书笔记
好产品具备三个基本条件:价值、可用性、可行性,三者缺一不可。产品没有价值,开发团队再优秀也无济于事。 第一篇:人员现代软件产品团队成员 产品经理职责:评估产品机会;定义要开发的产品。 用户体验设计师交互设计师:负责深入理解目标用户,设计有价值的,可用的功能,以及用户导航和产品使用流程。视觉设计师:根据交互设计原型,制作美观的产品界面 项目管理人员产品经理完成产品定义后,开发团队开始开发产品。项目经理核心任务:制订计划和跟踪进度。 开发团队职责:负责产品的技术开发。 运维团队职责:互联网服务产品通常运行在服务器上,保证服务正常运行。 产品营销人员职责:负责对外发布信息、宣传产品,为扩展市场销售渠道、组织重点营销活动、促进产品销售提供支持 第二篇:流程11. 评估产品机会——确定待解决的问题只讨论待解决的问题,不应涉及具体解决方案。产品经理需要回答如下十个问题: 产品要解决什么问题?(产品价值) 为谁解决这个问题?(目标市场) 成功的机会有多大?(市场规模) 怎样判断产品成功与否?(度量指标或收益指标) 有哪些同类产品?(竞争格局) 为什么我们最适合做这个产品?(竞争优...
