Devops
2019-02-19 14:21:36 0 举报
AI智能生成
持续交付
作者其他创作
大纲/内容
docker
架构
docker client
docker daemon
docker registeries
关键技术
namespace(资源隔离)
network namespace
pid namespace
uts namespace
mount namespace
user namespace
ipc namespace
cgroup namespace
cgroups(资源管理)
union file system
overlayfs
rootfs
pivot_root
bootfs
container network model
ipam
sandbox
endpoint
network
LSM
DAC
MAC
Capabilities
Criu
核心模块设计与实现
网络
镜像
存储
runtime
容器
ctr
containerd-shim
buildkit
自动化运维
持续交付
产品工具
Jekins
是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能
Travis CI
是在软件开发领域中的一个在线的,分布式的持续集成服务,用来构建及测试在GitHub托管的代码
阿里云云效
一站式企业协同研发云,提供从“需求->开发->测试->发布->运维->运营”端到端的协同服务和研发工具支撑
Jfrog Artifactory
一个持续交付平台
Netflix Spinnaker
一个持续交付平台
分支管理
主干分支
Alone Flow分支
Git Flow分支
代码静态检查
JAVA
SonurQube
PHP
PHPStan
PHPStorm自带插件phpcd、phpcs
环境管理
开发环境
功能测试环境
测试验收环境
性能压测环境
子环境
预发布环境
生产环境
配置管理
构建配置
部署配置
运行配置
配置中心(Apollo)
测试管理
单元测试
是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确
集成测试
是单元测试的逻辑扩展。它最简单的形式是:把两个或多个已经测试过的单元组合成一个组件,测试它们之间的接口
破坏性测试
应用程序以不受控制的方式进行故障测试,以测试应用程序的鲁棒性,并找出故障点
自动化测试
Mock技术架构
基于对象和类
Mockito或EasyMock
基于微服务
Weir Mock或Mock Server
优势
测试用例独立、解耦
无须考虑依赖端的情况
稳定、高性能、可迁移
概念
在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,
得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率
得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率
发布体系
发布方式
全量发布(推荐)
增量发布
回滚
发布类型
金丝雀发布
小比例发布,例如 10% 的服务器,主要做流量验证用,也称为金丝雀 (Canary) 测试(国内常称灰度测试)
滚动发布
不加新服务器,从原有的集群服务器基础上,一批一批停止服务,并更新为新版本服务,直到所有服务器更新完成
蓝绿发布
新增一批服务器,进行服务验证,老服务保持原有状态。直到新集群服务测试完成通过,再把流量接入新集群服务,
老集群服务自动下线
老集群服务自动下线
监控体系
网络监控
业务监控
核心业务指标
应用监控
服务调用链APM
系统监控
基础设施
中间件监控
数据库管理
快速创建
数据创建、清理
0 条评论
下一页