Continuous Integration. Week 2. Lecture

1.

1

2.

What is Continuous Integration?
• Continuous Integration is a software development practice
where members of a team integrate their work frequently.
• Each integration is verified by an automated build (including
test) to detect integration errors as quickly as possible.
• When CI works well, it helps the code stay robust enough that
customers and other stakeholders can play with the code
whenever they like.
• Like refactoring, continuous integration works well if you have
an exhaustive suite of automated unit tests that ensure that you
are not committing buggy code.

3.

CI overview
Source: http://www.javaworld.com/javaworld/jw-12-2008/images/CIOverview.jpg

4.

Image: http://www.the-marketing-it-process-strategist.com/marketing-database-blog.html
4

5.

Image: http://www.the-marketing-it-process-strategist.com/marketing-database-blog.html
5

6.

Image: http://www.the-marketing-it-process-strategist.com/marketing-database-blog.html
6

7.

Image: http://www.the-marketing-it-process-strategist.com/marketing-database-blog.html
7

8.

Image: http://www.the-marketing-it-process-strategist.com/marketing-database-blog.html
8

9.

PRACTICES OF CONTINUOUS INTEGRATION
Maintain a Single Source Repository
Automate the Build
Make Your Build Self-Testing
Everyone Commits To the Mainline Every Day
Every Commit Should Build the Mainline on an Integration
Machine
Keep the Build Fast
Test in a Clone of the Production Environment
Make it Easy for Anyone to Get the Latest Executable
Everyone can see what's happening
Automate Deployment

10.

11.

Continuous
Integration

12.

License
Windows
builders
Servlet
Container
Proprietary
MSBuild, NAnt,
Visual Studio
CruiseControl
Cross-platform
BSD-style
NAnt, Rake,
andXcode
Go
Cross-platform
Apache 2.0
Yes
Name
Platform
Bamboo
Jenkins/Hudson
Servlet
Container
Creative
Commonsand
MIT
TeamCity
Servlet
Container
Proprietary
Team
Foundation
Server
Windows,VSTM
Proprietary
MSBuild, NAnt
Java build
ers
Other build
ers
Notification
IDE Integr
ation
custom script,
command line,
Bash
XMPP, Google
Talk,Email, RSS, Rem
ote API
IntelliJ
FishEye, Crowd
IDEA, Eclipse,
, JIRA, Clover
Visual Studio
Phing, Apache
Ant,Maven
catch-all 'exec'
E-mail, CCTray
Eclipse
Unknown
Yes
Cross-platform
command-line
E-mail, CCTray
No
RESTful API
Ant, Maven
1, Maven
2, Maven 3
Ant, Maven 2,
Kundo
Cmake, Gant,
Gradle, Grails,
Android, EPhing,Rake, Ru
mail,Google
Eclipse, IntelliJ
by, SCons, Pyth Calendar,IRC, X IDEA,NetBean
on, Shell
MPP, RSS,Twitt
s
script and Com
er
mand Line
Ant, Maven
2/3,
IDEA.ipr
MSBuild, NAnt,
EVisual Studio, based, IDEAIns Rake, FxCop,
mail, XMPP, RS
pections, IDEA Command Line
Duplicates
S, IDE, SysTray
Duplicates
finder for .NET
finder,Gradle
MSBuild
Ant, Maven
Custom script,
Command line
E-Mail, SOAP
Other Inte
gration
Bugzilla, Googl
e
Code, JIRA,Re
dmine, FindBug
s, Checkstyle,P
MD and Mantis,
Trac
Eclipse, Visual
Jetbrains
Studio,IntelliJ Youtrack, JIRA,
IDEA,RubyMin Bugzilla, FishEy
e, PyCharm,Ph e, FindBugs,PM
pStorm, WebSt D, dotCover, N
orm
Cover
Visual
Studio, Eclipse
Unknown

13.

14.

“Continuous
Integration has
become a
mainstream
technique for
software
development”
9

15.

Image: http://www.coolest-toys.com/200811/classic-board-games-%E2%80%93-risk.htm
1

16.

Image: http://www.coolest-toys.com/200811/classic-board-games-%E2%80%93-risk.htm
1

17.

Image: http://www.coolest-toys.com/200811/classic-board-games-%E2%80%93-risk.htm
1

18.

Image: http://www.coolest-toys.com/200811/classic-board-games-%E2%80%93-risk.htm
1

19.

Image: http://www.coolest-toys.com/200811/classic-board-games-%E2%80%93-risk.htm
1

20.

Image: http://www.coolest-toys.com/200811/classic-board-games-%E2%80%93-risk.htm
1

21.

Image: http://www.davistechnologiesllc.com/index-4.html
Image: http://www.daddyhogwash.com/2009/01/broken-window-theory-gets-a-boost-from-the-university-19of-

22.

Image: http://www.davistechnologiesllc.com/index-4.html
Image: http://www.daddyhogwash.com/2009/01/broken-window-theory-gets-a-boost-from-the-university-20of-

23.

Image: http://www.davistechnologiesllc.com/index-4.html
Image: http://www.daddyhogwash.com/2009/01/broken-window-theory-gets-a-boost-from-the-university-21of-

24.

Image: http://www.davistechnologiesllc.com/index-4.html
Image: http://www.daddyhogwash.com/2009/01/broken-window-theory-gets-a-boost-from-the-university-22of-

25.

Image: http://www.davistechnologiesllc.com/index-4.html
Image: http://www.daddyhogwash.com/2009/01/broken-window-theory-gets-a-boost-from-the-university-23of-

26.

Image: http://www.davistechnologiesllc.com/index-4.html
Image: http://www.daddyhogwash.com/2009/01/broken-window-theory-gets-a-boost-from-the-university-24of-

27.

Image: http://www.daddyhogwash.com/2009/01/broken-window-theory-gets-a-boost-from-the-university-of-groningen/
25
English     Русский Правила