Continuous Integration JUG Hannover

17
Continuous Integration Java User Group Hannover 13.03.2013 Yann Cébron, JetBrains

description

Vortrag vom 13.03.2013

Transcript of Continuous Integration JUG Hannover

Page 1: Continuous Integration JUG Hannover

ContinuousIntegration

Java User Group Hannover13.03.2013

Yann Cébron, JetBrains

Page 2: Continuous Integration JUG Hannover

Disclaimer

Page 3: Continuous Integration JUG Hannover

Diese Probleme hat bestimmt keiner jeder schon erlebt...

• You don’t have a master build script that builds everything on any machine.

• When your software doesn’t compile or pass its tests, no-one notices.

• When the code goes to QA it rarely works.

• Developer “done” means something very different from user “done”.

• The code works in development and pre-production, but not in production or test.

http://amarinda.com/articles/34_signs_continuous_integration_isnt_working

Page 4: Continuous Integration JUG Hannover

Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.

http://martinfowler.com/articles/continuousIntegration.html

Page 6: Continuous Integration JUG Hannover

This Is Not A Tool

Page 7: Continuous Integration JUG Hannover

Voraussetzungen

• Agile Entwicklungsmethoden

• Mut zur Transparenz

• Wille zur Umstellung

• Lernkurve

Page 8: Continuous Integration JUG Hannover

Entwickler

• alle sind „up-to-date“

• schnelles Feedback

• Fokus

• Strukturierung

• „End-To-End“ Verantwortlichkeit aka „Done Done“

Page 10: Continuous Integration JUG Hannover

http://www.youbrokethebuild.com/

Page 11: Continuous Integration JUG Hannover

Und die anderen?

• Transparenz

• Pull statt Push

• manche vermissen vielleicht ihre erlogenen selbstdefinierten Ampeln

Page 12: Continuous Integration JUG Hannover

Release

• Dev vs. Ops

• kein „Event“

• Auswahl und Deployment eines vorhandenen Builds

• Automatisierung

Page 13: Continuous Integration JUG Hannover

Not only code…

• Dokumentation, Handbücher

• Release Notes

• System-Maintenance

Page 14: Continuous Integration JUG Hannover

Continuous Delivery

• konsequente Fortführung

• „Must-Have“ bei grossen Applikationen

• funktioniert auch in „kritischen“ Umgebungen

Page 15: Continuous Integration JUG Hannover

Vertrauen

Page 16: Continuous Integration JUG Hannover

• Continuous Integration (Martin Fowler)http://martinfowler.com/articles/continuousIntegration.html

• 10 Deploys Per Day (flickr)http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

• flickrFlipping Out (flickr) http://code.flickr.com/blog/2009/12/02/flipping-out/

• http://www.continuousdelivery.com/http://www.slideshare.net/jezhumble/continuous-delivery-5359386

• http://amarinda.com/articles/34_signs_continuous_integration_isnt_working

Page 17: Continuous Integration JUG Hannover

• http://www.infoq.com/presentations/Adopting-Continuous-Delivery

• http://www.infoq.com/presentations/Etsy-Deployment

• http://www.infoq.com/presentations/Facebook-Release-Process

• http://www.infoq.com/presentations/Continuous-Integration-Songkick

• http://www.infoq.com/articles/Continuous-Delivery-Maturity-Model