Continuous Deployment mit Rex und Jenkins

18
Continuous Deployment mit Rex und Jenkins Miriam Bergmann IT Engineering & Operations Berlin, 23.05.2013

Transcript of Continuous Deployment mit Rex und Jenkins

Page 1: Continuous Deployment mit Rex und Jenkins

Continuous Deployment mit Rex und Jenkins

Miriam Bergmann IT Engineering & Operations

Berlin, 23.05.2013

Page 2: Continuous Deployment mit Rex und Jenkins

2

1.  About Me

2.  Continuous Deployment

3.  Rex

4.  Jenkins

5.  Kleine Demo

6.  Fragen

Agenda ... was erwartet euch?

Page 3: Continuous Deployment mit Rex und Jenkins

3

‣  Miriam Bergmann

‣  Angestellt bei der inovex GmbH als Systems Engineer

‣  Aufbau und Betrieb komplexer Systemlandschaften und Applikationen

‣  Automatisierung von Betriebsabläufen wie Softwaredeployments

About Me ...wer steht da denn?

Page 4: Continuous Deployment mit Rex und Jenkins

4

‣  Anforderungen des Kunden / Projektes

‣  Agile Releasezyklen erfordern viele kleine atomare Deployments

‣  Realität sieht häufig anders aus:

‣  Probleme beim Deployment

‣  Deployment auf Produktion funktioniert nicht

‣  Nicht reproduzierbare Fehler

‣  „works on my box“

‣  komplexe Abhängigkeiten zwischen den Komponenten

‣  Verschiedene Applikationen, verschiedene Deploymentmechanismen – Deployment als Wissenschaft für sich

‣  Komplexität führt zu seltenen zeitintensiven Deployments

Continuous Deployment ... warum brauche ich das?

Page 5: Continuous Deployment mit Rex und Jenkins

5

‣  Einsatz vom einheitlichen Tooling zum Deployment

‣  Für alle Applikationen

‣  Auf allen Umgebungen

‣  Deployment als Teil des Softwarereleaseprozesses

‣  Tests des Deploymentprozesses

Continuous Deployment ... was kann ich mir darunter vorstellen?

Page 6: Continuous Deployment mit Rex und Jenkins

6

‣  Idee ist nicht neu

‣  Es gibt nicht nur eine Umsetzungsmöglichkeit

‣  Wahl der Tools und der Umsetzung abhängig von verschiedenen Faktoren

‣  Skills und Vorlieben des betreuenden Teams

‣  Art der Applikation

‣  Grad der Komplexität

‣  Prozess forcieren und aktiv leben

Continuous Deployment ... wie stelle ich das am Besten an?

Page 7: Continuous Deployment mit Rex und Jenkins

7

‣  Rex als Deployment Tool

‣  Jenkins zum Abbilden des Prozesses (Berechtigungen, Freigaben, Durchlauf der Softwarepakete durch die verschiedenen Umgebungen)

Continuous Deployment ... was haben wir daraus gemacht?

Page 8: Continuous Deployment mit Rex und Jenkins

8

‣  Steht für Remote Execution

‣  http://rexify.org/

‣  Implementiert in Perl

‣  over ssh

‣  Configmanagement und Deployments

Rex ... wer oder was ist das?

Page 9: Continuous Deployment mit Rex und Jenkins

9

‣  Perl ist unter Admins recht verbreitet

‣  Rex erfordert nicht viele Perlkenntnisse

‣  ein File

‣  zentral

‣  sequentielle Abarbeitung

‣  Aufteilung in sogenannte Tasks für die Übersichtlichkeit

Rex ... warum nicht ...?

Page 10: Continuous Deployment mit Rex und Jenkins

10

‣  Aufbau eines Repos auf dem zentralen Deploymenthost:

Rex ... seht selbst!

Page 11: Continuous Deployment mit Rex und Jenkins

11

‣  Nur ssh Zugriff auf den zu deployenden Hosts nötig

‣  Definition von Hostgruppen

‣  Basisconfig:

Rex ... seht selbst!

Page 12: Continuous Deployment mit Rex und Jenkins

12

‣  Umgebungsspezifische Pfade für Configs und Packages

Rex ... seht selbst!

Page 13: Continuous Deployment mit Rex und Jenkins

13

‣  Ein Beispieltask

Rex ... seht selbst!

Page 14: Continuous Deployment mit Rex und Jenkins

14

‣  Aufruf ganz simpel:

Rex ... seht selbst!

Page 15: Continuous Deployment mit Rex und Jenkins

15

‣  CI Server

‣  implementiert in Java

‣  Tool zur Jobausführung und Jobüberwachung

‣  Jenkinsintegration von Rex

Jenkins ... wofür dann Jenkins?

Page 16: Continuous Deployment mit Rex und Jenkins

16

‣  Konfiguration

‣  Plugins

‣  Jenkins Dynamic Parameter Plugin

‣  Promoted Builds Plugin

‣  Abbilden des Deploymentprozesses

‣  Ansichten = Umgebungen

‣  Jobs = Applikationen

‣  Freigabeprozess

‣  Rechtemanagement

‣  Promote Actions

‣  Einbindung von Rex (Aufrufe, Konfiguration der Tasks)

Jenkins ... Setup

Page 17: Continuous Deployment mit Rex und Jenkins

17

Vielen Dank für die Aufmerksamkeit !

Fragen?

Fragen

Page 18: Continuous Deployment mit Rex und Jenkins

18

Vielen Dank für Ihre Aufmerksamkeit

Kontakt Miriam Bergmann Systems Engineer inovex GmbH Office Pforzheim Karlsruher Str. 72 75179 Pforzheim 0173 3181055 [email protected]