DevOps der Triple-E Klasse - Eclipse DemoCamp
Upcoming SlideShare
Loading in...5
×
 

DevOps der Triple-E Klasse - Eclipse DemoCamp

on

  • 525 Views

Maersk Line lässt nicht nur die weltweit größten Schiffe der 'Triple-E' Klasse bauen. Continuous Integration und Delivery in einer ähnlichen Größenordnung mit Hudson, Maven und Tools wie Kokki ...

Maersk Line lässt nicht nur die weltweit größten Schiffe der 'Triple-E' Klasse bauen. Continuous Integration und Delivery in einer ähnlichen Größenordnung mit Hudson, Maven und Tools wie Kokki (ähnlich Puppet oder Chef ) werden dort ebenso praktiziert.
Diese Session gewährt eine kurze Übersicht über Multi-Configuration (Matrix) Job-Typen wie sie in den meisten dieser Projekte genutzt werden. Highlights in einer heterogenen Umgebung, wie man sie in Vielfalt und Umfang sonst fast nur bei großen Anbietern von Public Cloud Lösungen findet.

Statistics

Views

Total Views
525
Views on SlideShare
522
Embed Views
3

Actions

Likes
0
Downloads
0
Comments
0

2 Einbettungen 3

https://twitter.com 2
https://www.rebelmouse.com 1

Zugänglichkeit

Kategorien

Details hochladen

Uploaded via as Microsoft PowerPoint

Benutzerrechte

© Alle Rechte vorbehalten

Report content

Als unangemessen gemeldet Als unangemessen melden
Als unangemessen melden

Wählen Sie Ihren Grund, warum Sie diese Präsentation als unangemessen melden.

Löschen
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Ihre Nachricht erscheint hier
    Processing...
Kommentar posten
Kommentar bearbeiten

DevOps der Triple-E Klasse - Eclipse DemoCamp DevOps der Triple-E Klasse - Eclipse DemoCamp Presentation Transcript

  • DevOps der Triple-E Klasse mit Hudson, Maven, Kokki Multiconf & PyDev Werner Keil Eclipse DemoCamp 2013 Karlsruhe 20. November 2013
  • 2 © 2012-2013 Creative Arts & Technologies Bilder © Maersk Line und Andere
  • Fahrplan • Einleitung • Hudson • Automatisierung • Maven • Build • Kokki • Konfiguration • Multiconf • PyDev • Entwicklung • Demo • Q&A 3 © 2012-2013 Creative Arts & Technologies
  • Stapellauf 4 © 2013 Creative Arts & Technologies Bilder © Maersk Line
  • Jungfernfahrt 5 © 2013 Creative Arts & Technologies
  • Was bin Ich? Werner Keil Twitter @wernerkeil • Consultant – Coach • Creative Cosmopolitan • Open Source Evangelist • Software Architect • Java Godfather • UOMo Project Lead • ETCS Guy … Email werner@catmedia.us 6 © 2012-2013 Creative Arts & Technologies
  • Hudson • Hudson is a powerful and widely used open source continuous integration server providing development teams with a reliable way to monitor changes in source control and trigger a variety of builds. (The Hudson Book) 7 © 2012 Creative Arts & Technologies
  • Hudson | Downloads 8 © 2012 Creative Arts & Technologies
  • Hudson | Commits 9 © 2012 Creative Arts & Technologies
  • Hudson | Job Koordination 10 © 2012-2013 Creative Arts & Technologies
  • Hudson | Job Koordination im Triple-E Stil 11 © 2012-2013 Creative Arts & Technologies
  • Hudson | Promovierte Builds 12 © 2012-2013 Creative Arts & Technologies
  • Hudson DEMO
  • Maven Evolution der Build Systeme 14 © 2012-2013 Creative Arts & Technologies
  • Maven “Lean” Anwendung • Nutzen Maven nur für Was es am Besten kann • Dependency Management • Nexus • Managed Environment • Generiert / Gestartet durch Kokki • Konfiguriert via Multiconf • Hudson Plugins • Zabbix Monitoring • Kibana Log Analyse 15 © 2012-2013 Creative Arts & Technologies
  • Missing Link Erstellen der (Virtuellen) Maschinen 16 © 2012-2013 Creative Arts & Technologies
  • Viele Virtuelle Maschinen 17 © 2013 Creative Arts & Technologies Bilder © Maersk Line
  • Virtual Machine Provisionierung Vagrant und Oracle VirtualBox (oder vmware) • Vagrant • Management virtueller Betriebssysteme • Virtual Machine • Oracle VirtualBox • Häufiger • Vmware • Gelegentlich • Linux Container • Weitere Option 18 © 2013 Creative Arts & Technologies
  • Kokki • Infrastruktur Automation → Configuration Management • Teil des Provisionierungsvorgangs • Bibliothek und einfaches Kommandozeilentool • Bislang keine Client/Server Komponente • Könnte GitHub an Stelle einer Client/Server Komponente nutzen • Alternative zu Puppet/Chef/Cfengine • Implementiert in Python 19 © 2012-2013 Creative Arts & Technologies
  • Kokki | Begriffe • Kokki ist ein Configuration Management Framework. • Es kann eigenständig oder als Teil eines komplexeren Systems genutzt werden. • Es bedeutet “Koch” in Finnischer Sprache • Environment: Ausführungsumgebung • Resource: Beschreibt eine Datei, Service, Paket, etc.. • Provider: Weiß um das Ausführen von Ressourcen • Kitchen: Container (“Regal”) für Kochbücher • Cookbook: Container für Rezepte und Bibliotheken • Recipe: Gruppe von Resourcedefinitionen • Library: Utility Methoden, Ressourcen und Provider 20 © 2012-2013 Creative Arts & Technologies
  • Kokki | Beispiel from kokki import * with Environment() as env: Package("vim", action="upgrade") File("/etc/hosts", owner = "root", group = "root", content = "127.0.0.1 localhostn" "255.255.255.255 broadcasthostn" "::1 localhostn" "fe80::1%lo0 localhostn") env.run() 21 © 2012-2013 Creative Arts & Technologies
  • Kokki++ | Multiconf • Multiconf ist ein Framework zur Beschreibung komplexer Umgebungen mithilfe von Python. • Warum • Es entstand aus dem schlichten Bedarf teils sehr heterogene Java EE Projekte kontinuierlich zu bauen und auszuliefern. • Mittels einer Handvoll Python Scripts und einer Handvoll textueller Property Dateien. • Mit steigender Anzahl Property Dateien stieg naturgemäß auch die Anzahl der notwendigen Scripts… • Aus diesem Dilemma heraus wurde Multiconf geboren. Leider nur 4 Whys 22 © 2012-2013 Creative Arts & Technologies
  • Multiconf • Wie • Man stelle sich ein Projekt vor, in dem eine stark heterogene Umgebung unterschiedliche Server wie Tomcat, Jetty, JBoss, Websphere, Glassfish oder Weblogic erfordert. • Sie benötigen unterschiedliche Datenbankverbindungen und (mind.) 4 Umgebungen: • Local (eigenes Entwicklergerät) • Dev • Test • Prod • Projekt Konfiguration ist ähnlich auf einigen Umgebungen, aber Irgendwas ist fast immer unterschiedlich. (DB, Ports, Proxies, Log-Dateien, u.dgl.) 23 © 2012 -2013 Creative Arts & Technologies
  • Multiconf (2) • Was Multiconf nicht ist • Multiconf weiß nicht, von selbst, wie man Umgebungen erstellt • Multiconf weiß nicht, wie es die Bestandteile einer Umgebung erstellen soll • Multiconf hat keinen Exekutor • Perfektes Paar mit Systeme wie Kokki • Selbe Sprache • Erweiterbare Rezepte und Bibliotheken machen Kokki offen für solche Erweiterungen • Was Multiconf ist • Multiconf erlaubt es einen Software “stack” zu definieren und warnt früh genug, wen etwas an dessen Definition fehlerhaft oder unvollständig ist. Andere Tools nutze YAML oder JSON um die Komponenten zu definieren, doch benötigt man dort wieder eine Möglichkeit, diese Einstellungen zu validieren. Multiconf ist Beides - Definition und Validierung. 24 © 2012-2013 Creative Arts & Technologies
  • Multiconf | JSF Beispiel from javax_faces import ProjectStage from valid_envs import local, dev, test, uat, prod def jsf_stages(): with ProjectStage() as ps: ps.name(local=”Development”, dev=”Development”, test=”UnitTest”, uat=”SystemTest”, prod=”Production”) 25 © 2012 -2013 Creative Arts & Technologies
  • Multiconf | Autor • Multiconf Autor • Lars Hupfeldt Nielsen • Alles Gute zum Geburtstag, Selma Lagerlöf wünscht „Nils Hupfeldtsson“ 26 © 2013 Creative Arts & Technologies
  • Multiconf | Eine Inspiration für Java Configuration API • Initiiert von • Oracle • Crédit Suisse • Mit etwas Hilfe u.a. durch den „Java Godfather“ • Entwurf für • Einen Java Specification Request (JSR) bei JCP.org • Siehe: http://java-config.java.net 27 © 2013 Creative Arts & Technologies
  • PyDev • PyDev ist ein Produkt von Appcelerator, einer Softwarefirma, die Webentwicklern bei der Erstellung plattform-unabhängiger Lösungen für Handy, Tablet oder Desktop unterstützt Gewinner des 2011 Eclipse Award für Best Developer Tool Appcelerator stellt auch Aptana Studio (enthält PyDev) oder Titanium Studio her, beides Eclipsebasierende IDEs für Web and Mobile Plattformen 28 © 2012-2013 Creative Arts & Technologies
  • PyDev | Code Completion 29 © 2012 Creative Arts & Technologies
  • PyDev | Code Navigation 30 © 2012 Creative Arts & Technologies
  • PyDev | Code Coverage 31 © 2012 Creative Arts & Technologies
  • PyDev | Debugging 32 © 2012 Creative Arts & Technologies
  • PyDev | Unit Tests 33 © 2012 Creative Arts & Technologies
  • PyDev DEMO
  • Zeit zum Plaudern Q&A
  • Links Kokki https://github.com/samuel/kokki Multiconf https://github.com/lhupfeldt/multiconf PyDev http://www.pydev.org
  • Links (2) Eclipse – Hudson http://www.eclipse.org/hudson/ Apache Maven http://www.apache.org/maven/ Java Config API http://java-config.java.net
  • Vielen Dank 38 © 2012-2013 Creative Arts & Technologies Email werner@catmedia.us Twitter @wernerkeil Bilder © Maersk Line