Scrum Gathering 2012...

23
Continuous Integration From Ground To Cloud Juven Xu 许晓斌

description

讲师 :许晓斌 程序员,敏捷咨询师,技术作者,持续集成方面的专家。曾任职于Sonatype,是开源软件Nexus的核心团队成员,Maven中央仓库的主要维护者。著有《Maven实战》,译有《Maven权威指南》,有大量文章发表于InfoQ等技术杂志。目前受雇于OutSofting,从事敏捷方面的培训和咨询工作 话题介绍: 当大家都开始实践持续集成的时候,仅仅是做了表面功夫还是认识到了持续集成的本质?当团队规模变大后,实践持续集成会遇到哪些挑战?怎么去解决?如火如荼的云计算能给持续集成带来哪些增益,从而帮助我们去解决一些严峻的挑战?本话题旨在解答上述疑问,包括: •持续集成的核心:反馈&质量 • 常见的挑战:包括团队不愿面对改变,集成太慢,测试太少,开发团队和配置管理团队的沟通问题 • 应对上述挑战的一些方法 • “持续集成即服务”简介,作为PaaS的一部分,它有什么优势 • 一些现有的“持续集成即服务”实现介绍

Transcript of Scrum Gathering 2012...

Page 1: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

Continuous Integration From Ground To Cloud

Juven Xu 许晓斌

Page 2: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

@juvenxu

Father, Programmer, Trainer, Coacher, and Author

Page 3: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

I’m going to talk

1. Challenges of CI, and possible solutions.

2. What is CI in Cloud, and what we can benefit from it.

Page 4: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)
Page 5: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

Essential

Fast Feedback

High Quality

Page 6: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

Challenges

1. People don’t want to change

2. Slow build

3. No/little tests

4. Communication gap between dev team and CI

Page 7: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

People Don’t Want To Change

Find their pain point

Demonstrate the new idea

Support from management level

Page 8: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)
Page 9: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

Slow Build

1. Optimize your machine

2. Optimize your code

3. Optimize your build

Page 10: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

Optimize Your Build

Dedicated Build Farm

Build Stages

Parallel Build

Incremental Build

In Memory Build

Page 11: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)
Page 12: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

No/Little Tests

1. Start with smoke test (best ROI)

2. Introduce TDD/ATDD

3. Use metrics to encourage people

4. Support from management level

Page 13: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

Communication Gap between dev and CI team

Eat your own dog food

CI as a service

Page 14: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

Where Is the Cloud?

Page 15: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

Cloud Computing In a Nutshell

SaaS / PaaS / IaaS

Public / Private Cloud

CI in Cloud

Page 16: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

Improve Resource Utilization

Reduce Maintenance Overhead

Benefits of CI in Cloud

Page 17: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

Benefits of CI in Cloud

Multiple build environment is easy

Parallel build is easy

Multiple test environment is easy

Page 18: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

Benefits of CI in Cloud

No communication gap between dev and CI team

Page 19: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

travis-ci.org

Page 20: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)
Page 21: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

&

Page 22: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

Concerns of CI in Cloud

It might be slower

It might have technical constraints

It might not conform to your security policy

Page 23: Scrum Gathering 2012 Shanghai_工程实践与技术卓越分会场:持续集成–从地面到云端(许晓斌)

@juvenxu

Q & A