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

Continuous Deployment mit Rex und Jenkins

Jul 15, 2015

Download

Technology

inovex GmbH
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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]