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

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

2025-05-14
rclone使用教程
rclone 是一款强大的命令行工具,支持在本地与多种云存储之间进行高效的数据同步和迁移。本文将介绍 rclone 的安装、配置及常用操作方法,帮助你快速上手。 一、安装 rclone1. 公网环境安装(以 Ubuntu 为例)12curl https://downloads.rclone.org/v1.67.0/rclone-v1.67.0-linux-amd64.deb -o rclone-v1.67.0-linux-amd64.debsudo dpkg -i rclone-v1.67.0-linux-amd64.deb 2. Mac 安装1brew install rclone 更多平台和安装方式可参考 rclone 官方下载页面。 二、配置 rclonerclone 的配置文件默认位于 ~/.config/rclone/rclone.conf。你可以手动创建和编辑该文件,或通过 rclone config 命令进行交互式配置。 1. 创建配置目录1mkdir -p ~/.config/rclone 2. 编辑配置文件以下是一个典型的配置示例,支持 swift 和 s...

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)...
2020-05-20
WSL2-+-microK8s-+-K8s
Windowns 10 (WSL2) + Ubuntu 20.04 enable systemd snapd microk8s 启动systemd,并使用snap安装 123$ sudo apt install daemonize$ sudo daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target$ sudo nsenter -t $(pidof systemd) -a su - $LOGNAME 安装microk8s 12$ snap info microk8s$ sudo snap install microk8s --classic 使用microk8s 123$ microk8s status$ sudo usermod -a -G microk8s mpan$ sudo chown -f -R mpan ~/.kube 添加节点 1$ microk8s add-node 注意 每次使用micr...

2020-05-20
《凤凰项目—一个IT运维的传奇故事》整理
###《凤凰项目》三位作者 Gene Kim: Tripwire有限公司创始人,一直热衷于研究如何提高IT组织的效率 Kevin Behr:创建了信息技术流程研究院 George Spafford:行业分析师 向他们致敬。 故事内容雨前龙井整理的非常详细,可阅读它写的博客 凤凰项目 http://ijyun.github.io/2016/04/23/phoenix-project.html 书中的核心概念 三步工作法 本书中阐述了一个原理:所有开发运维模式都来自“三步工作法”,可以说它是我们平台开发运维的指导思想。 第一工作法是关于从开发到技术运营,再到客户的整个自左向右的工作流。为了使流量最大化,我们需要小的批量规模和工作间隔,绝不让缺陷流向下游工作中心,并且不断为了整体目标(相对于开发功能完成率、测试发现/修复比例或运维有效性等局部目标)进行优化。流程自动化 实践:持续构建、持续集成、持续部署,按需创建环境、限制半成品,构建起能够顺利变更的安全系统和组织。 第二工作法是关于价值流各阶段自右向左的快速持续反馈流,放大其效益以确保防止问题再次发生,或者更快地...

2020-05-20
为啥新环境的Kafka性能这么差?
本故事纯属虚构,如有雷同,纯属巧合,一笑了之。公司分配给了A和B一个任务,测试容器化Kafka集群的性能。之前B在老机器上已经测试过一个版本,并写了完整的报告,算是有经验的老鸟了。现在到了一批新机器,需要在它们上面重新测试一下Kafka的性能,A主动承担这个该任务,要知道新机器不管从cpu核数还是内存大小都是老机器的两倍,而且新机器用的是SSD盘,而老机器用的是机械盘。A信心满满,认认真真地按照之前B写的文档操作。可测试结果让他大吃一惊,新机器的性能竟然不到老机器的一半。 网络问题? A:这个Kafka集群压测数据怎么这么差?会不会是网络问题呢?B:之前我们用的是万M网卡,你这个是多少?A:网卡速度怎么看?B:用ethtool命令,后面加对应的网络接口名,看Speed值,就能知道是万M还是千M网卡了。 123456$ ethtool eth0Settings for em0:Supported ports: [ TP ]...Speed: 1000Mb/s... A:这是千M网卡,怪不得性能会这么差呢。B:你确定是网卡的问题吗?你压测的时候用nload命令查看一下网络的带宽有...

2023-06-07
Bash中的换行
换行在平常的shell编程中是经常遇到的,但是有时也会忽略掉一些问题。本篇中将会介绍多种方式实现输出换行的方法。 使用 echoecho 自带换行echo 命令输出字符串,在最后后会添加一个换行 123root@Michael:~# echo hello worldhello worldroot@Michael:~# 添加 -n 可以禁用echo最后的换行 12root@Michael:~# echo -n hello worldhello worldroot@Michael:~# 换行符”\n”但是当我们使用bash执行以下命令时,发现它并没有换行 123root@Michael:~# bash -c "echo \"\n\""\nroot@Michael:~# 而是需要加一个 -e 1234root@Michael:~# bash -c "echo -e \"\n\""root@Michael:~# 从echo的说明中可以看到 -e 指的是让转义符生效,其中有: 1234567891011121...
