Ci Presentacion
-
Upload
opensource-connections -
Category
Technology
-
view
1.219 -
download
5
description
Transcript of Ci Presentacion
![Page 1: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/1.jpg)
Eric Pugh Richmond
CI Presentation
January 14th, 2009
![Page 2: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/2.jpg)
Continuous Integration RICHMOND, January 14th, 2009
Principal of OpenSource Connections
Contributer to CruiseControl
Member of Apache Software Foundation
Presenter at many conferences including OSCON, ApacheCON, jTDS
Fascinated by the art of software development
¿Who am I?
![Page 3: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/3.jpg)
Continuous Integration RICHMOND, January 14th, 2009
¿What are we talking about?
¿What is CI?
¿Why does it matter to me?
¿What do I need to use CI?
Demonstration of Hudson
¡Questions!
3
![Page 4: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/4.jpg)
Continuous Integration RICHMOND, January 14th, 2009
¿What is Continous Integracion?
http://martinfowler.com/articles/continuousIntegration.html
From Martin Fowler:
“a fully automated and reproducible build, including testing, that runs many times a day”.
4
![Page 5: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/5.jpg)
Continuous Integration RICHMOND, January 14th, 2009
Rapid Feedback
< 10 minutos
![Page 6: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/6.jpg)
Continuous Integration RICHMOND, January 14th, 2009
¿How is CI important to different members of a team?
6
![Page 7: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/7.jpg)
Continuous Integration RICHMOND, January 14th, 2009
Life of a programmer without CI...
Unstable code, integration is difficult
Many build errors reported
Only one person on the team can build the entire project
Demonstrations require extensive planning
Feedback cycle is long
Every day is a struggle to be productive
7
![Page 8: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/8.jpg)
Continuous Integration RICHMOND, January 14th, 2009
Life of a programmer with IC...
The build process is simple and repeatable
Elimination of Human Error
Demo’s are quick and easy
Feedback cycle is very rapid
¡Every day you know you can code!
8
![Page 9: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/9.jpg)
Continuous Integration RICHMOND, January 14th, 2009
For a tester
¿What is in the build?
¿What has changed between builds?
¿How do I verify functionality?
control
9
![Page 10: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/10.jpg)
Continuous Integration RICHMOND, January 14th, 2009
For a Project Manager
Visibility
10
![Page 11: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/11.jpg)
Continuous Integration RICHMOND, January 14th, 2009
For a Project Manager
11
![Page 12: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/12.jpg)
Continuous Integration RICHMOND, January 14th, 2009
For a development team
security
12
![Page 13: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/13.jpg)
Continuous Integration RICHMOND, January 14th, 2009
For a development team
13
![Page 14: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/14.jpg)
Continuous Integration RICHMOND, January 14th, 2009
For a development team
14
![Page 15: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/15.jpg)
Continuous Integration RICHMOND, January 14th, 2009
For a development team
15
![Page 16: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/16.jpg)
Continuous Integration RICHMOND, January 14th, 2009
¿What is needed to get started?
A dedicated machine
Source Control
Automated Build Script
Method of notification
16
![Page 17: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/17.jpg)
Continuous Integration RICHMOND, January 14th, 2009
¿ What are the challenges to using CI?
17
![Page 18: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/18.jpg)
Continuous Integration RICHMOND, January 14th, 2009
Challenge One: Cultural Change
CI needs a champion who acts as the ambassador to the leaders of the organization.
Thoughtleaders in the organization who can help encourage developers to accept the process changes that CI brings
A very successful test case
¿A greenfield project if possible?
18
![Page 19: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/19.jpg)
Continuous Integration RICHMOND, January 14th, 2009
Challenge Two: Environmental Difficulties
All the tests should be true unit tests, not integratin tests
Few or no external dependencies
A beefy build server...
A strategy for deploying code into the CI environment
Database changes are SIMPLE
19
![Page 20: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/20.jpg)
Continuous Integration RICHMOND, January 14th, 2009
Challenge Three: Project Characteristics
Fewer branches to the code makes life easier
Many small code changes. Code is committed throughout the day.
There are good unit test coverage.
The code is ready for deployment, not in pieces.
20
![Page 21: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/21.jpg)
Continuous Integration RICHMOND, January 14th, 2009
Challenge Four: Stability of CI Tool
The CI system must be as well maintained as the Source Control system.
THe CI system can do builds very quickly.
¿Who has responsibility for CI? It’s very important to have a “throat to choke”.
No false alarms. If there are false alarms then the developers lose confidence in the CI system.
✓
X
21
![Page 22: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/22.jpg)
Continuous Integration RICHMOND, January 14th, 2009
Demo of Hudson
22
![Page 23: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/23.jpg)
Continuous Integration RICHMOND, January 14th, 2009
¿Where to next?
Continuous Integration: Improving Software Quality and Reducing Risk
CIGuys.com (??)
CITConf is the conference for CI. This year April 24, 25 in Minneapolis, MN.
23
![Page 24: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/24.jpg)
Continuous Integration RICHMOND, January 14th, 2009
Matrix of 22 differences in CI systems
24
http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix
![Page 25: Ci Presentacion](https://reader034.fdocuments.in/reader034/viewer/2022051111/55509804b4c90590208b46d2/html5/thumbnails/25.jpg)
Continuous Integration RICHMOND, January 14th, 2009
¿Why CI?
Eliminate human errors
Tests that run frequently are more valuable
A CI system is the foundation of a project status dashboard
¡Eliminate integration problems!
25