Uploaded on

English version of a presentation on the benefits, and challenges, of using CI.

English version of a presentation on the benefits, and challenges, of using CI.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,170
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
38
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. CI Presentation Richmond Eric Pugh January 14th, 2009
  • 2. ¿Who am I?  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 Continuous Integration RICHMOND, January 14th, 2009
  • 3. ¿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 Continuous Integration RICHMOND, January 14th, 2009
  • 4. ¿What is Continous Integracion? From Martin Fowler: “a fully automated and reproducible build, including testing, that runs many times a day”. http://martinfowler.com/articles/continuousIntegration.html 4 Continuous Integration RICHMOND, January 14th, 2009
  • 5. Rapid Feedback < 10 minutos Continuous Integration RICHMOND, January 14th, 2009
  • 6. ¿How is CI important to different members of a team? 6 Continuous Integration RICHMOND, January 14th, 2009
  • 7. 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 Continuous Integration RICHMOND, January 14th, 2009
  • 8. 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 Continuous Integration RICHMOND, January 14th, 2009
  • 9. For a tester control   ¿What is in the build? ¿What has changed between builds? ¿How do I verify functionality? 9 Continuous Integration RICHMOND, January 14th, 2009
  • 10. For a Project Manager Visibility  10 Continuous Integration RICHMOND, January 14th, 2009
  • 11. For a Project Manager 11 Continuous Integration RICHMOND, January 14th, 2009
  • 12. For a development team security  12 Continuous Integration RICHMOND, January 14th, 2009
  • 13. For a development team 13 Continuous Integration RICHMOND, January 14th, 2009
  • 14. For a development team 14 Continuous Integration RICHMOND, January 14th, 2009
  • 15. For a development team 15 Continuous Integration RICHMOND, January 14th, 2009
  • 16. ¿What is needed to get started?  A dedicated machine Source Control Automated Build Script Method of notification 16 Continuous Integration RICHMOND, January 14th, 2009
  • 17. ¿ What are the challenges to using CI? 17 Continuous Integration RICHMOND, January 14th, 2009
  • 18. 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 Continuous Integration RICHMOND, January 14th, 2009
  • 19. 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 Continuous Integration RICHMOND, January 14th, 2009
  • 20. 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 Continuous Integration RICHMOND, January 14th, 2009
  • 21. Challenge Four: Stability of CI Tool X  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. 21 Continuous Integration RICHMOND, January 14th, 2009
  • 22. Demo of Hudson 22 Continuous Integration RICHMOND, January 14th, 2009
  • 23. ¿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 Continuous Integration RICHMOND, January 14th, 2009
  • 24. Matrix of 22 differences in CI systems http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix 24 Continuous Integration RICHMOND, January 14th, 2009
  • 25. ¿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 Continuous Integration RICHMOND, January 14th, 2009
  • 26. RICHMOND Eric Pugh epugh@opensourceconnections.com January 14th, 2009