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

Transcript
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