我想具有root 访问权限!

Download Report

Transcript 我想具有root 访问权限!

Michael Hüttermann
Agile、SCM/ALM、DevOps、持续交付
http://huettermann.net
http://twitter.com/huettermann
CON1174 - 通过 MySQL 5.6 GA、Flyway
和 Hudson 实现数据库开发运营一体化
(DevOps)
议题
什么是 DevOps
诀窍和缺陷
示例
演示
http://huettermann.net
什么是 DevOps?
http://huettermann.net
DevOps 对招聘人员的意义……
http://huettermann.net
DevOps 对工具供应商的意义……
http://huettermann.net
DevOps 对项目部门的意义……
http://huettermann.net
开发人员
我想具有
root
访问权限!
DevOps 对运营的意义……
http://huettermann.net
运营
魅力
DevOps 对开发人员的意义……
http://huettermann.net
DevOps 对研究人员的意义……
http://huettermann.net
DevOps 对农夫的意义……
… 以及此前 IT 原来的基本状况
http://huettermann.net
目标
改进与加快交付:批的大小
http://huettermann.net
改进与加快交付:更改大小与更改频率
http://huettermann.net
改进与加快交付:周期
http://huettermann.net
问题
(原因何在)
http://huettermann.net
http://huettermann.net
http://huettermann.net
http://huettermann.net
解决方案
(解决方式)
http://huettermann.net
开发与转型
特性
构思
3天
特性
定义
1周
特性
规划
10 天
特性
开发
7周
特性
验收
1周
特性
发布
2 小时
交付周期
增值
闲置时间
浪费
1周
10 天
3天
5天
2天
价值流映射
http://huettermann.net
http://huettermann.net
Agile 满足 IT 服务管理的需求
http://huettermann.net
发布和反馈的无限循环
http://huettermann.net
http://huettermann.net
无需自己运营,即可实现 DevOps?
http://huettermann.net
Oracle 云
无需自己运营,即可实现 DevOps?
http://huettermann.net
分享知识和经验
http://huettermann.net
DevOps 概要
http://huettermann.net
流程关系图
http://huettermann.net
http://huettermann.net
DB DevOps:将转换脚本应用到 VCS,
然后使用类似于 Flyway 的工具
http://huettermann.net
http://huettermann.net
DB DevOps:提供实时流量可见性,
包括锁定的行、阻塞查询及资源争用
http://huettermann.net
http://huettermann.net
DB DevOps:将最终用户体验作为共同目标;
将性能看作功能性要求
http://huettermann.net
http://huettermann.net
DB DevOps:提供获取信息的渠道(不通过 DBA),
借此来加强协作;避免让 DBA 充当数据库的“看门人”
http://huettermann.net
缺陷
http://huettermann.net
运营
开发
http://huettermann.net
缺陷:职责混乱
缺陷:重心有误
人员、
(项目|公司)文化
及流程才是关注点。
缺陷:观念落后
http://huettermann.net
诀窍
http://huettermann.net
诀窍:实施自动化,以确保可重复性并促进协作
http://huettermann.net
诀窍:考虑使用看板系统
http://huettermann.net
诀窍:考虑使用全面的变更和配置管理
http://huettermann.net
诀窍:实施追踪以确保可追溯性
http://huettermann.net
诀窍:实施监视以支持责任制
http://huettermann.net
诀窍:以仪表盘的形式显示您的工作进度
诀窍:使用版本控制确保再现性
http://huettermann.net
诀窍:考虑使用管道
http://huettermann.net
诀窍:创建(可执行)文档来很好地做记录
http://huettermann.net
诀窍:使开发和运营目标与激励措施保持一致
批的大小
周期
http://huettermann.net
诀窍:F1
http://huettermann.net
诀窍:尊重同事
方式示例 ?
http://huettermann.net
瑞士军刀,亦称“crontab Web 2.0 版”
http://jenkins-ci.org/
http://huettermann.net
针对完整的软件生命周期
所有的角色和项目阶段
涉及
- 需求
- 代码
- 发布
- 质量(如指标)
- 测试
- 交付
-…
http://huettermann.net
交付和基于任务的开发
https://wiki.jenkins-ci.org/display/JENKINS/Artifactory+Plugin
http://huettermann.net
构建软件
https://wiki.jenkins-ci.org/display/JENKINS/Gradle+Plugin
http://huettermann.net
交付管道
https://wiki.jenkins-ci.org/display/JENKINS/Build+Pipeline+Plugin
http://huettermann.net
功能发布
http://huettermann.net
生成 RPM,部署至 Artifactory
发布-容器
http://huettermann.net
通过 Vagrant 和 Puppet 供应
http://huettermann.net
https://wiki.jenkins-ci.org/display/JENKINS/Vagrant+Plugin
… 经由 shell 调用
实例化需求
验收测试驱动的开发
https://wiki.jenkins-ci.org/display/JENKINS/testng-plugin
https://wiki.jenkins-ci.org/display/JENKINS/Thucydides+Plugin
http://huettermann.net
Sonar
http://docs.codehaus.org/pages/viewpage.action?pageId=116359341
http://huettermann.net
诀窍:插入质量检验关
http://www.sonarsource.org
数据库管理
先与 Maven,然后与 Jenkins 集成
http://huettermann.net
Liquibase
Flyway
自制工具
演示
http://huettermann.net
http://twitter.com/huettermann