Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Continuous Integration

1.345 Aufrufe

Veröffentlicht am

Introduction of continious integration to our internal development team.

Veröffentlicht in: Technologie, Business
  • Als Erste(r) kommentieren

Continuous Integration

  1. 1. 25 June, 2008<br />Continuous Integration<br />by Mel Gerats<br />
  2. 2. Definitionhttp://en.wikipedia.org/wiki/Continuous_integration<br />Continuous integration describes a set of software engineering practices that speed up the delivery of software by decreasing integration times<br />25 June, 2008<br />Continuous Integration, by Mel Gerats<br />2<br />
  3. 3. Maintain a Single Source Repository.<br />Simple: Usesourcecontrol<br />25 June, 2008<br />3<br />Continuous Integration, by Mel Gerats<br />
  4. 4. Automate the Build<br />Building shouldtakeoneaction at most!<br />Building shouldnottake YOUR time<br />=&gt; Build server<br /> - CruiseControl.net<br /> - Team System Build Server<br /> - Team City<br />25 June, 2008<br />4<br />Continuous Integration, by Mel Gerats<br />
  5. 5. Make Your Build Self-Testing<br />Tests shouldbe run everybuild<br />=&gt; Tests can have noeffects, orshould at least clean up.<br />25 June, 2008<br />5<br />Continuous Integration, by Mel Gerats<br />
  6. 6. Everyone Commits Every Day<br />Check in often!<br />Findproblemsearly<br />Mostlyforlargeprojects?<br />25 June, 2008<br />6<br />Continuous Integration, by Mel Gerats<br />
  7. 7. Every Commit Should Build the Mainline on an Integration Machine<br />Automatedbuildaftercheckin<br />Automated tests aftercheckin<br />25 June, 2008<br />7<br />Continuous Integration, by Mel Gerats<br />
  8. 8. Test in a Clone of the Production Environment<br />The code maybe fine, but the environment?<br />Dependencies<br />Versions<br />OS<br />…<br />25 June, 2008<br />8<br />Continuous Integration, by Mel Gerats<br />
  9. 9. Everyone can see what&apos;s happening<br />Checkin reports<br />Build reports<br />Test reports<br />Coverage reports<br />http://buildserver/ccnet<br />25 June, 2008<br />9<br />Continuous Integration, by Mel Gerats<br />
  10. 10. Automate Deployment<br />Successful build =&gt; deploy to staging<br />25 June, 2008<br />10<br />Continuous Integration, by Mel Gerats<br />
  11. 11. Overview<br />Maintain a Single Source Repository.<br />Automate the Build<br />Make Your Build Self-Testing<br />Everyone Commits Every Day<br />Every Commit Should Build the Mainline on an Integration Machine<br />Keep the Build Fast<br />Test in a Clone of the Production Environment<br />Make it Easy for Anyone to Get the Latest Executable<br />Everyone can see what&apos;s happening<br />Automate Deployment<br />25 June, 2008<br />11<br />Continuous Integration, by Mel Gerats<br />
  12. 12. Challenges<br />Bus factor<br />Dependencies<br />Brokenwindowsyndrome<br />25 June, 2008<br />12<br />Continuous Integration, by Mel Gerats<br />
  13. 13. Todo’s<br />Research/try out options<br /><ul><li>Now we useCruiseControl
  14. 14. Tom willtryTeamCity + FinalBuilder
  15. 15. Experiment with Team System</li></ul>25 June, 2008<br />13<br />Continuous Integration, by Mel Gerats<br />
  16. 16. Next steps<br />Automated unit tests<br />Reports<br />Automateddeployment<br />25 June, 2008<br />14<br />Continuous Integration, by Mel Gerats<br />
  17. 17. Resources<br />Martin Fowler on continuous integration<br />Ourbuildserver<br />CruiseControl<br />Teamcity<br />Team Foundation Build<br />25 June, 2008<br />15<br />Continuous Integration, by Mel Gerats<br />
  18. 18. 16<br />Continuous Integration, by Mel Gerats<br />25 June, 2008<br />

×