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

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

2020-05-20
CI-CD流程-命令行方式与Jenkins-Blue-Ocean方式
命令行模式 环境准备 克隆代码 1git clone 启动私有docker hub 12 docker run -d -p 5000:5000 -v /data/registry:/var/lib/registry --name registry --restart=always registry 制作建置环境 1docker build -t localhost:5000/maven dockers/maven dockers/maven/Dockerfile 1234FROM ## 安装openjdk## 安装MavenCMD ["mvn"] 集成、测试、验证 进行自动化测试 1docker-compose run --rm test docker-compose.yaml 123456789101112131415161718192021222324data: image: alpine volumes: - ~/.m2:/root/.m2 command: "/bin/bash&quo...
2020-05-20
SonarQube应用离线安装插件
SonarQube的插件地址为:https://binaries.sonarsource.com/Distribution/将下载的插件文件存放在SonarQube应用的/opt/sonarqube/extensions/plugins目录下。 参考文章Sonar 离线安装插件
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
Nginx性能优化配置参考
系统优化 系统内核优化参考 123456789101112131415161718192021222324$ cat /etc/sysctl.confnet.ipv4.tcp_max_syn_backlog = 65536net.core.netdev_max_backlog = 36768net.core.somaxconn = 36768 net.core.wmem_default = 8588608net.core.rmem_default = 8588608net.core.rmem_max = 16877216net.core.wmem_max = 16877216 net.ipv4.tcp_synack_retries = 2net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000net.ipv4.tcp_max_orphans = 3376800net.ipv4....
2020-05-20
持续交付发布可靠软件的系统方法(部署流水线)第七章:提交阶段
《持续交付发布可靠软件的系统方法》读书笔记 提交阶段的运行应该少于5分钟,一定不要超过10分钏提交阶段的首要目标是创建可部署的产物 提交阶段的原则与实践 提供快速有用的反馈 何时令提交阶段失败 编译错误 测试失败(包括单元覆盖率低于60%) 精心对待提交阶段 提交阶段中有构建用的脚本和运行单元测试、静态分析等脚本。 随着项目的进行,不断改进提交阶段的脚本的质量、设计和性能 确保将脚本做成模块化,将那些经常使用且很少变化的常见任务与需要修改的任务分开 将部署流水线中不同阶段所用的代码分别写在不同脚本中 不要写出与具体环境相关的脚本,即要把具体环境配置与构建脚本分离 让开发人员也拥有所有权如果必要的话,即使是很普通的变更也都应该由开发人员和运维人员来执行 在超大项目团队中指定一个构建负责人 监督和指导对构建的维护 鼓励和加强构建纪律 在团队开始接触持续集成时,构建纪律还没建立起来时,提醒作用 团队成员轮流当,比如每星期轮换一次 提交阶段结果提交阶段的输入是源代码,输出是二进制包和报告(测试结果和代码分析报告) 制品库 制品库仅保存某些版本,而不是全部。如果在部署流水...
2020-05-20
持续交付发布可靠软件的系统方法(部署流水线)第六章:构建与部署的脚本化
《持续交付发布可靠软件的系统方法》读书笔记 ##构建工具概览 Make Ant NAnt与MSBuild Maven Rake Buildr Psake 构建部署脚本化的原则与实践 为部署流水线的每个阶段创建脚本 使用恰当的技术部署应用程序 使用同样的脚本向所有环境部署 使用操作系统自带的包管理工具 确保部署流程是幂等的 部署系统的增量式演进 部署脚本化 多层的部署和测试 层 配置 应用/服务/组件 应用配置 中间件 中间件配置 操作系统 操作系统配置 硬件 硬件 测试环境配置 部署前对基础设施做标准冒烟测试,如果发现问题,就让环境配置流程快速失败,并给出测试结果 确认能从数据库中拿到一条记录 确认能连上网站 断言消息代理中的已注册的消息集合是正确的 透过防火墙发送ping,证明线路通畅 推荐策略 总是使用相对路径 消除手工步骤 从二进制包到版本控制库的内建可追溯性二进制包记录版本信息,如Java应用可以在MANIFEST中包含元数据,另外可以将构建流程生成的每个二进制包的MD5值及名字和版本标识符一起放在数据库中 不要把二进制包作为构建的...
