Continuous Integration
            From Ground To Cloud



                      Juven Xu 许晓斌
Father, Programmer, Trainer, Coacher, and Author




                                           @juvenxu
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.
Essential
Fast Feedback

High Quality
Challenges
1. People don’t want to change

2. Slow build

3. No/little tests

4. Communication gap between dev team and CI
People Don’t Want To Change



Find their pain point

Demonstrate the new idea

Support from management level
Slow Build


1. Optimize your machine

2. Optimize your code

3. Optimize your build
Optimize Your Build

Build Stages

Dedicated Build Farm

Parallel Build

Incremental Build

In Memory Build
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
Communication Gap
between dev and CI team



Eat your own dog food

CI as a service
Where Is the Cloud?
Cloud Computing In a Nutshell


SaaS / PaaS / IaaS

Public / Private Cloud

CI in Cloud
Benefits of CI in Cloud



Improve Resource Utilization

Reduce Maintenance Overhead
Benefits of CI in Cloud



Multiple build environment is easy

Parallel build is easy

Multiple test environment is easy
Benefits of CI in Cloud



No communication gap between dev
and CI team
travis-ci.org
&
Concerns of CI in Cloud


It might be slower

It might have technical constraints

It might not conform to your security policy
Q&A




      @juvenxu

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