Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous Delivery mit den Atlassian-Werkzeugen

Continuous Delivery mit den Atlassian-Werkzeugen

Alexander Müller

November 24, 2014
Tweet

More Decks by Alexander Müller

Other Decks in Technology

Transcript

  1. codecentric  AG Seit 05/14: IT Consultant, codecentric AG
 11/11 -

    11/14: Software Engineer, db-central GmbH
 09/11 - 10/11: Research Assistant, Mobile Human-Computer Interaction Group,
 Universität Duisburg-Essen
 06/11 - 09/11: Research Associate, Computing Department, Lancaster University
 11/10 - 05/11: Research Assistant, Pervasive Computing and User Interface
 Engineering Group, Universität Duisburg-Essen
 05/11 - 05/11: Visiting Researcher, Telekom Innovation Labs, Technische Universität
 Berlin Alexander Müller - Wer ist das? (Auszug) 2
  2. codecentric  AG Continuous…? 13 Continuous  Integration Continuous  Delivery Continuous  Deployment

    automatische  Builds  und  Tests Release  auf  Knopfdruck   jederzeit  möglich Knopfdruck  nicht  mehr  notwendig
  3. codecentric  AG Was ist das Ziel? 23 Das  Feature  soll

     zum  Kunden knowyourmeme.com ©  pixabay.com,   intern:  zum  Benutzer
  4. codecentric  AG Was ist das Ziel? 24 Das  Feature  soll

     zum  Kunden knowyourmeme.com ©  pixabay.com,   intern:  zum  Benutzer Feedback
  5. codecentric  AG Schritt 1: Rückverfolgbarkeit 25 Anforderungsdokumente Lastenheft Pflichtenheft Use

     Cases User  Stories Customer  Journeys Story  Maps Spezifikationen ©  pixabay.com,   #3 #14 #159 #26 #5 #358 #97 eindeutige  Identifikatoren
  6. codecentric  AG 27 In  welchem  Zustand  befinden  sich   das

     Feature?   Wer  ist  für  das  Feature   verantwortlich?   Was  muss  noch  getan  werden? Schritt 1: Rückverfolgbarkeit
  7. codecentric  AG 28 Schritt 2: Branching master 1.1 1.2 Baue

     eine  Festung  für   master The  Castle  of  Belogradchik,  ©  Klearchos  Kapoutsis  2009,  CC-­‐BY-­‐2.0
  8. codecentric  AG 32 Jedes  Feature  bekommt  seinen   eigenen  Branch.

      Es  wird  ein  gescheites   Versionskontrollsystem  benötigt.   (Git  und  Mercurial  eignen  sich  besonders  gut.)   Der  Branch  wird  zurückgeführt,   sobald  die  Entwicklung  an  dem   Feature  abgeschlossen  ist. Schritt 2: Branching
  9. codecentric  AG 34 Schritt 3: Automatische Tests Test-­‐Driven  Development? Antares

     CRS  Orb-­‐3  Mission,  ©  NASA/Joel  Kowsky  2014 feature/RD-­‐20
  10. codecentric  AG 35 Schritt 3: Automatische Tests develop feature/RD-­‐20 master

    feature/RD-­‐2 1.1 1.2 Tests  sind  erfolgreich Tests  schlagen  fehl
  11. codecentric  AG 37 Schritt 3: Automatische Tests Jede  Änderung  in

     jedem  Branch  wird   automatisch  getestet.   (Continuous  Integration)   Voraussetzung  für  den  Merge  von   Branches  (Teil  1):   Alle  Tests  sind  erfolgreich.
  12. codecentric  AG 41 Schritt 4: Code Reviews Das  Entwicklungsteam  trägt

     die   Verantwortung  für  die   Qualitätssicherung.   Voraussetzung  für  den  Merge  von   Branches  (Teil  2):   Code  muss  von  anderen  Mitgliedern   des  Teams  geprüft  worden  sein.
  13. codecentric  AG 42 Schritt 4: Code Reviews Alle  Voraussetzungen  müssen

      erfüllt  sein,  damit  Code  zurückgeführt   werden  kann.
  14. codecentric  AG 44 Schritt 5: Merging und Release Die  Zurückführung

     des  Branches   (Merging)  ist  einfach.   Nicht  mehr  benötigte  Branches   werden  automatisch  entfernt.   Bamboo  kann  automatisch   ein  Release  erzeugen.
  15. codecentric  AG 45 Schritt 6: Automatisches Deployment Why  I’ll  Never

     be  an  Adult,  ©  Hyperbole  and  a  Half
  16. codecentric  AG 46 Schritt 6: Automatisches Deployment Deployments  werden  automatisch

      durchgeführt.   Verschiedene  Umgebungen  können   das  Ziel  des  Deployments  sein.   Hier:  Ziel  ist  ein  QA-­‐System  für   automatisierte  UI-­‐Tests.
  17. codecentric  AG 49 ©  2003  Chief  Photographer's  Mate  Chris  Desmond,

     U.S.  Navy,  CC-­‐PD-­‐Mark SCHNELLES FEEDBACK
  18. codecentric  AG 51 ES GEHT NICHT UM DIE WERKZEUGE ABER

    GUTE WERKZEUGE MACHEN DAS LEBEN EINFACHER ©  2006  Martinroell,  CC-­‐BY-­‐SA-­‐2.5
  19. codecentric  AG Fragen? Alexander Müller codecentric AG Merscheider Straße 1

    42699 Solingen [email protected] www.codecentric.de blog.codecentric.de speakerdeck.com/alexandermueller @visusnet 52