28
In the beginning…

Continuous integration

Embed Size (px)

DESCRIPTION

One of the essential tenets of Agile is maintaining a tight feedback loop and one of the easiest ways to achieve that is by leveraging Continuous Integration techniques to provide real-time feedback to the entire project team about the health of the code in the source control repository.

Citation preview

Page 1: Continuous integration

In the beginning…

Page 2: Continuous integration

C#C#

Writing code….

C#C#

C#C#

C#C#

Page 3: Continuous integration

And the project team grew…

Page 4: Continuous integration

Swapping source files….

C#C#

C#C#

C#C#

C#C#

C#C#

C#C#

!

Page 5: Continuous integration

There’s got to be a better way…

Page 6: Continuous integration

Source control to the rescue….

C#C#

C#C#

C#C#

C#C#

C#C#

C#C#

SourceRepo

Page 7: Continuous integration

Sharing files…

Page 8: Continuous integration

Checking in…

App.configApp.config

C#C#

SourceRepo

<configuration><add key=“CachedFilesBaseDirectory”

value=“D:\SusanStuff\Myprojects\OrderManagement\” /></configuration>

Page 9: Continuous integration

Checking in…

App.configApp.config

C#C#

SourceRepo

Page 10: Continuous integration

One week later…

Page 11: Continuous integration

Updating local versions…???

SourceRepo

Page 12: Continuous integration
Page 13: Continuous integration
Page 14: Continuous integration
Page 15: Continuous integration
Page 16: Continuous integration
Page 17: Continuous integration

What if…

Page 18: Continuous integration

Feature complete…

App.configApp.config

C#C#

Continuous

Integration Server

SourceRepo

Page 19: Continuous integration

A few minutes later…

Page 20: Continuous integration

Changes are detected…

ContinuousIntegration

Server

Compiling…

Running unit tests…

SourceRepo

Page 21: Continuous integration
Page 22: Continuous integration
Page 23: Continuous integration

Running Unit Tests: Passed: 106, Failed: 1, Ignored: 0

Test: ShouldFindOrderInCachedItems Directory \OrderManagement\ not found.

D:\SusanStuff\MyProjects

!

Page 24: Continuous integration

SourceRepo

Fixing the build…

App.configApp.config

C#C#

<configuration><add key=“CachedFilesBaseDirectory”

value=“${CachedFilesBaseDirectory}\OrderManagement\” /></configuration>

ContinuousIntegration

Server

Page 25: Continuous integration

A few minutes later…

Page 26: Continuous integration

Changes are detected…

ContinuousIntegration

Server

Compiling…

Running unit tests…

SourceRepo

Page 27: Continuous integration
Page 28: Continuous integration

References

• Diagrams sourced from:– http://www.designcomics.org