SlideShare ist ein Scribd-Unternehmen logo
1 von 38
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

Weitere ähnliche Inhalte

Was ist angesagt?

Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsmatfsw
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker ContainerAndreas Koop
 
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Gregor Biswanger
 
BED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerBED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerPatrick Baumgartner
 
Dnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionDnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionOliver Busse
 
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbHEntwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbHstijink
 
Docker Hosting (Webinar vom 10. März 2016)
Docker Hosting (Webinar vom 10. März 2016)Docker Hosting (Webinar vom 10. März 2016)
Docker Hosting (Webinar vom 10. März 2016)NETWAYS
 
Build Patterns - Patterns und Best Practices für den Build Prozess
Build Patterns - Patterns und Best Practices für den Build ProzessBuild Patterns - Patterns und Best Practices für den Build Prozess
Build Patterns - Patterns und Best Practices für den Build ProzessRalf Abramowitsch
 
Mobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache CordovaMobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache CordovaYvette Teiken
 
Test-Driven-Development mit JUnit 4
Test-Driven-Development mit JUnit 4Test-Driven-Development mit JUnit 4
Test-Driven-Development mit JUnit 4Jörn Dinkla
 
Helm – The Kubernetes Package Manager
Helm – The Kubernetes Package ManagerHelm – The Kubernetes Package Manager
Helm – The Kubernetes Package Managerinovex GmbH
 
Subversion Schulung
Subversion SchulungSubversion Schulung
Subversion SchulungJörn Dinkla
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...LeanIX GmbH
 
Source2Image - Vom Code zum fertigen Image mit einer Build-Chain basierend au...
Source2Image - Vom Code zum fertigen Image mit einer Build-Chain basierend au...Source2Image - Vom Code zum fertigen Image mit einer Build-Chain basierend au...
Source2Image - Vom Code zum fertigen Image mit einer Build-Chain basierend au...Matthias Fauter
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...QAware GmbH
 

Was ist angesagt? (20)

Ant im Detail
Ant im DetailAnt im Detail
Ant im Detail
 
Ant Maven
Ant MavenAnt Maven
Ant Maven
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
 
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
 
BED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerBED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als Entwickler
 
Dnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionDnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsession
 
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbHEntwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
 
Docker Hosting (Webinar vom 10. März 2016)
Docker Hosting (Webinar vom 10. März 2016)Docker Hosting (Webinar vom 10. März 2016)
Docker Hosting (Webinar vom 10. März 2016)
 
Build Patterns - Patterns und Best Practices für den Build Prozess
Build Patterns - Patterns und Best Practices für den Build ProzessBuild Patterns - Patterns und Best Practices für den Build Prozess
Build Patterns - Patterns und Best Practices für den Build Prozess
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Mobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache CordovaMobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache Cordova
 
Test-Driven-Development mit JUnit 4
Test-Driven-Development mit JUnit 4Test-Driven-Development mit JUnit 4
Test-Driven-Development mit JUnit 4
 
Helm – The Kubernetes Package Manager
Helm – The Kubernetes Package ManagerHelm – The Kubernetes Package Manager
Helm – The Kubernetes Package Manager
 
Subversion Schulung
Subversion SchulungSubversion Schulung
Subversion Schulung
 
Jenkins Acceleration
Jenkins AccelerationJenkins Acceleration
Jenkins Acceleration
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
 
Source2Image - Vom Code zum fertigen Image mit einer Build-Chain basierend au...
Source2Image - Vom Code zum fertigen Image mit einer Build-Chain basierend au...Source2Image - Vom Code zum fertigen Image mit einer Build-Chain basierend au...
Source2Image - Vom Code zum fertigen Image mit einer Build-Chain basierend au...
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
 

Andere mochten auch

Tabelle SC Melle 03 Fussball 23. spieltag Landesliga Weser-Ems
Tabelle SC Melle 03 Fussball 23. spieltag Landesliga Weser-EmsTabelle SC Melle 03 Fussball 23. spieltag Landesliga Weser-Ems
Tabelle SC Melle 03 Fussball 23. spieltag Landesliga Weser-EmsSCM Fussball
 
Postes 1er niveau v6
Postes 1er niveau v6Postes 1er niveau v6
Postes 1er niveau v6Charloutte
 
Tabelle SC Melle 03 Fussball 24. Spieltag Landesliga Weser-Ems
Tabelle SC Melle 03 Fussball 24. Spieltag Landesliga Weser-EmsTabelle SC Melle 03 Fussball 24. Spieltag Landesliga Weser-Ems
Tabelle SC Melle 03 Fussball 24. Spieltag Landesliga Weser-EmsSCM Fussball
 
Sistema nacional bachillerato_sep-2007
Sistema nacional bachillerato_sep-2007Sistema nacional bachillerato_sep-2007
Sistema nacional bachillerato_sep-2007Leo Nela
 
Bulletin avivo 2014_1_page_2_et_3
Bulletin avivo 2014_1_page_2_et_3Bulletin avivo 2014_1_page_2_et_3
Bulletin avivo 2014_1_page_2_et_3Joël Plumey
 
Daten als Wettbewerbsfaktor in Social Network Sites - DGI Konferenz 2012
Daten als Wettbewerbsfaktor in Social Network Sites - DGI Konferenz 2012 Daten als Wettbewerbsfaktor in Social Network Sites - DGI Konferenz 2012
Daten als Wettbewerbsfaktor in Social Network Sites - DGI Konferenz 2012 Laura Dorfer
 
Industrieelektronik/EMS
Industrieelektronik/EMSIndustrieelektronik/EMS
Industrieelektronik/EMSNicole Eisele
 
Realtime workshop Lisboa - 2013-01-10 (Portuguese)
Realtime workshop Lisboa - 2013-01-10 (Portuguese)Realtime workshop Lisboa - 2013-01-10 (Portuguese)
Realtime workshop Lisboa - 2013-01-10 (Portuguese)Realtime
 
Mehr Performance für WordPress - WPFra
Mehr Performance für WordPress - WPFraMehr Performance für WordPress - WPFra
Mehr Performance für WordPress - WPFraWalter Ebert
 
TOTVS ECM byYou - Solicitação Cadastro de itens
TOTVS ECM byYou - Solicitação Cadastro de itensTOTVS ECM byYou - Solicitação Cadastro de itens
TOTVS ECM byYou - Solicitação Cadastro de itensCaribe Tecnologia
 
IoT em Ação: Criando um Moderno Sistema para Hospitais
IoT em Ação: Criando um Moderno Sistema para HospitaisIoT em Ação: Criando um Moderno Sistema para Hospitais
IoT em Ação: Criando um Moderno Sistema para HospitaisFernando Rizzato
 
2014.03.27 - NAEC invitation_Social Ecology
2014.03.27 - NAEC invitation_Social Ecology2014.03.27 - NAEC invitation_Social Ecology
2014.03.27 - NAEC invitation_Social EcologyOECD_NAEC
 
2014.03.10 - Seminar Invitation_Environmental policies and economic performance
2014.03.10 - Seminar Invitation_Environmental policies and economic performance2014.03.10 - Seminar Invitation_Environmental policies and economic performance
2014.03.10 - Seminar Invitation_Environmental policies and economic performanceOECD_NAEC
 
2014.03.04 - Seminar Invitation_Revisiting the social contract
2014.03.04 - Seminar Invitation_Revisiting the social contract2014.03.04 - Seminar Invitation_Revisiting the social contract
2014.03.04 - Seminar Invitation_Revisiting the social contractOECD_NAEC
 

Andere mochten auch (20)

Tabelle SC Melle 03 Fussball 23. spieltag Landesliga Weser-Ems
Tabelle SC Melle 03 Fussball 23. spieltag Landesliga Weser-EmsTabelle SC Melle 03 Fussball 23. spieltag Landesliga Weser-Ems
Tabelle SC Melle 03 Fussball 23. spieltag Landesliga Weser-Ems
 
Postes 1er niveau v6
Postes 1er niveau v6Postes 1er niveau v6
Postes 1er niveau v6
 
EMS Group - Catalogue Français
EMS Group - Catalogue FrançaisEMS Group - Catalogue Français
EMS Group - Catalogue Français
 
Tabelle SC Melle 03 Fussball 24. Spieltag Landesliga Weser-Ems
Tabelle SC Melle 03 Fussball 24. Spieltag Landesliga Weser-EmsTabelle SC Melle 03 Fussball 24. Spieltag Landesliga Weser-Ems
Tabelle SC Melle 03 Fussball 24. Spieltag Landesliga Weser-Ems
 
Sistema nacional bachillerato_sep-2007
Sistema nacional bachillerato_sep-2007Sistema nacional bachillerato_sep-2007
Sistema nacional bachillerato_sep-2007
 
Escola Municipal de Saúde: contribuindo com a comunicação institucional e o c...
Escola Municipal de Saúde: contribuindo com a comunicação institucional e o c...Escola Municipal de Saúde: contribuindo com a comunicação institucional e o c...
Escola Municipal de Saúde: contribuindo com a comunicação institucional e o c...
 
Bulletin avivo 2014_1_page_2_et_3
Bulletin avivo 2014_1_page_2_et_3Bulletin avivo 2014_1_page_2_et_3
Bulletin avivo 2014_1_page_2_et_3
 
Daten als Wettbewerbsfaktor in Social Network Sites - DGI Konferenz 2012
Daten als Wettbewerbsfaktor in Social Network Sites - DGI Konferenz 2012 Daten als Wettbewerbsfaktor in Social Network Sites - DGI Konferenz 2012
Daten als Wettbewerbsfaktor in Social Network Sites - DGI Konferenz 2012
 
Affero
AfferoAffero
Affero
 
Industrieelektronik/EMS
Industrieelektronik/EMSIndustrieelektronik/EMS
Industrieelektronik/EMS
 
Zion Technologies - Apresentação
Zion Technologies - ApresentaçãoZion Technologies - Apresentação
Zion Technologies - Apresentação
 
Realtime workshop Lisboa - 2013-01-10 (Portuguese)
Realtime workshop Lisboa - 2013-01-10 (Portuguese)Realtime workshop Lisboa - 2013-01-10 (Portuguese)
Realtime workshop Lisboa - 2013-01-10 (Portuguese)
 
Mehr Performance für WordPress - WPFra
Mehr Performance für WordPress - WPFraMehr Performance für WordPress - WPFra
Mehr Performance für WordPress - WPFra
 
Iec 15 juin.3
Iec 15 juin.3Iec 15 juin.3
Iec 15 juin.3
 
Frases da EMS
Frases da EMSFrases da EMS
Frases da EMS
 
TOTVS ECM byYou - Solicitação Cadastro de itens
TOTVS ECM byYou - Solicitação Cadastro de itensTOTVS ECM byYou - Solicitação Cadastro de itens
TOTVS ECM byYou - Solicitação Cadastro de itens
 
IoT em Ação: Criando um Moderno Sistema para Hospitais
IoT em Ação: Criando um Moderno Sistema para HospitaisIoT em Ação: Criando um Moderno Sistema para Hospitais
IoT em Ação: Criando um Moderno Sistema para Hospitais
 
2014.03.27 - NAEC invitation_Social Ecology
2014.03.27 - NAEC invitation_Social Ecology2014.03.27 - NAEC invitation_Social Ecology
2014.03.27 - NAEC invitation_Social Ecology
 
2014.03.10 - Seminar Invitation_Environmental policies and economic performance
2014.03.10 - Seminar Invitation_Environmental policies and economic performance2014.03.10 - Seminar Invitation_Environmental policies and economic performance
2014.03.10 - Seminar Invitation_Environmental policies and economic performance
 
2014.03.04 - Seminar Invitation_Revisiting the social contract
2014.03.04 - Seminar Invitation_Revisiting the social contract2014.03.04 - Seminar Invitation_Revisiting the social contract
2014.03.04 - Seminar Invitation_Revisiting the social contract
 

Ähnlich wie DevOps der Triple-E Klasse - Eclipse DemoCamp

Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationGWAVA
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computingWolfgang Weigend
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenOPITZ CONSULTING Deutschland
 
Bernhard Wick - appserver.io - code.talks 2015
 Bernhard Wick - appserver.io - code.talks 2015 Bernhard Wick - appserver.io - code.talks 2015
Bernhard Wick - appserver.io - code.talks 2015AboutYouGmbH
 
Docker Einführung @GPN15
Docker Einführung @GPN15Docker Einführung @GPN15
Docker Einführung @GPN15m1no
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everythingcusy GmbH
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft AG
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHFlorian Holzhauer
 
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...Jürgen Gutsch
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalQAware GmbH
 
Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?Thorsten Kamann
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOpscusy GmbH
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightChristinaLerch1
 
Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)Joachim Baumann
 
Docker for Windows / Windows Container
Docker for Windows / Windows ContainerDocker for Windows / Windows Container
Docker for Windows / Windows ContainerThomas Wilhelm Wiefel
 
Server Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerServer Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerSandro Sonntag
 
Nanoservice Architekturen
Nanoservice ArchitekturenNanoservice Architekturen
Nanoservice ArchitekturenLeo Lindhorst
 
1. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.20231. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.2023Johannes Kleinlercher
 
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!adesso AG
 

Ähnlich wie DevOps der Triple-E Klasse - Eclipse DemoCamp (20)

Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computing
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 
Bernhard Wick - appserver.io - code.talks 2015
 Bernhard Wick - appserver.io - code.talks 2015 Bernhard Wick - appserver.io - code.talks 2015
Bernhard Wick - appserver.io - code.talks 2015
 
Docker Einführung @GPN15
Docker Einführung @GPN15Docker Einführung @GPN15
Docker Einführung @GPN15
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform Apps
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HH
 
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal
 
Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?
 
Die Java Plattform Strategie
Die Java Plattform StrategieDie Java Plattform Strategie
Die Java Plattform Strategie
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOps
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)
 
Docker for Windows / Windows Container
Docker for Windows / Windows ContainerDocker for Windows / Windows Container
Docker for Windows / Windows Container
 
Server Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerServer Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM Server
 
Nanoservice Architekturen
Nanoservice ArchitekturenNanoservice Architekturen
Nanoservice Architekturen
 
1. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.20231. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.2023
 
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
 

Mehr von Werner Keil

Securing eHealth, eGovernment and eBanking with Java - DWX '21
Securing eHealth, eGovernment and eBanking with Java - DWX '21Securing eHealth, eGovernment and eBanking with Java - DWX '21
Securing eHealth, eGovernment and eBanking with Java - DWX '21Werner Keil
 
OpenDDR and Jakarta MVC - JavaLand 2021
OpenDDR and Jakarta MVC - JavaLand 2021OpenDDR and Jakarta MVC - JavaLand 2021
OpenDDR and Jakarta MVC - JavaLand 2021Werner Keil
 
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021Werner Keil
 
OpenDDR and Jakarta MVC - Java2Days 2020 Virtual
OpenDDR and Jakarta MVC - Java2Days 2020 VirtualOpenDDR and Jakarta MVC - Java2Days 2020 Virtual
OpenDDR and Jakarta MVC - Java2Days 2020 VirtualWerner Keil
 
NoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 VirtualNoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 VirtualWerner Keil
 
JCON 2020: Mobile Java Web Applications with MVC and OpenDDR
JCON 2020: Mobile Java Web Applications with MVC and OpenDDRJCON 2020: Mobile Java Web Applications with MVC and OpenDDR
JCON 2020: Mobile Java Web Applications with MVC and OpenDDRWerner Keil
 
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020Werner Keil
 
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)Werner Keil
 
Money, Money, Money, can be funny with JSR 354 (DWX 2019)
Money, Money, Money, can be funny with JSR 354 (DWX 2019)Money, Money, Money, can be funny with JSR 354 (DWX 2019)
Money, Money, Money, can be funny with JSR 354 (DWX 2019)Werner Keil
 
NoSQL: The first New Jakarta EE Specification (DWX 2019)
NoSQL: The first New Jakarta EE Specification (DWX 2019)NoSQL: The first New Jakarta EE Specification (DWX 2019)
NoSQL: The first New Jakarta EE Specification (DWX 2019)Werner Keil
 
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR DayHow JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR DayWerner Keil
 
JNoSQL: The Definitive Solution for Java and NoSQL Databases
JNoSQL: The Definitive Solution for Java and NoSQL DatabasesJNoSQL: The Definitive Solution for Java and NoSQL Databases
JNoSQL: The Definitive Solution for Java and NoSQL DatabasesWerner Keil
 
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL DatabasesEclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL DatabasesWerner Keil
 
Physikal - Using Kotlin for Clean Energy - KUG Munich
Physikal - Using Kotlin for Clean Energy - KUG MunichPhysikal - Using Kotlin for Clean Energy - KUG Munich
Physikal - Using Kotlin for Clean Energy - KUG MunichWerner Keil
 
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017Werner Keil
 
Performance Monitoring for the Cloud - Java2Days 2017
Performance Monitoring for the Cloud - Java2Days 2017Performance Monitoring for the Cloud - Java2Days 2017
Performance Monitoring for the Cloud - Java2Days 2017Werner Keil
 
Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363Werner Keil
 
Java2Days - Security for JavaEE and the Cloud
Java2Days - Security for JavaEE and the CloudJava2Days - Security for JavaEE and the Cloud
Java2Days - Security for JavaEE and the CloudWerner Keil
 
Apache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ StuttgartApache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ StuttgartWerner Keil
 
The First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
The First IoT JSR: Units of Measurement - JUG Berlin-BrandenburgThe First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
The First IoT JSR: Units of Measurement - JUG Berlin-BrandenburgWerner Keil
 

Mehr von Werner Keil (20)

Securing eHealth, eGovernment and eBanking with Java - DWX '21
Securing eHealth, eGovernment and eBanking with Java - DWX '21Securing eHealth, eGovernment and eBanking with Java - DWX '21
Securing eHealth, eGovernment and eBanking with Java - DWX '21
 
OpenDDR and Jakarta MVC - JavaLand 2021
OpenDDR and Jakarta MVC - JavaLand 2021OpenDDR and Jakarta MVC - JavaLand 2021
OpenDDR and Jakarta MVC - JavaLand 2021
 
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
 
OpenDDR and Jakarta MVC - Java2Days 2020 Virtual
OpenDDR and Jakarta MVC - Java2Days 2020 VirtualOpenDDR and Jakarta MVC - Java2Days 2020 Virtual
OpenDDR and Jakarta MVC - Java2Days 2020 Virtual
 
NoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 VirtualNoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 Virtual
 
JCON 2020: Mobile Java Web Applications with MVC and OpenDDR
JCON 2020: Mobile Java Web Applications with MVC and OpenDDRJCON 2020: Mobile Java Web Applications with MVC and OpenDDR
JCON 2020: Mobile Java Web Applications with MVC and OpenDDR
 
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
 
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
 
Money, Money, Money, can be funny with JSR 354 (DWX 2019)
Money, Money, Money, can be funny with JSR 354 (DWX 2019)Money, Money, Money, can be funny with JSR 354 (DWX 2019)
Money, Money, Money, can be funny with JSR 354 (DWX 2019)
 
NoSQL: The first New Jakarta EE Specification (DWX 2019)
NoSQL: The first New Jakarta EE Specification (DWX 2019)NoSQL: The first New Jakarta EE Specification (DWX 2019)
NoSQL: The first New Jakarta EE Specification (DWX 2019)
 
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR DayHow JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
 
JNoSQL: The Definitive Solution for Java and NoSQL Databases
JNoSQL: The Definitive Solution for Java and NoSQL DatabasesJNoSQL: The Definitive Solution for Java and NoSQL Databases
JNoSQL: The Definitive Solution for Java and NoSQL Databases
 
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL DatabasesEclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
 
Physikal - Using Kotlin for Clean Energy - KUG Munich
Physikal - Using Kotlin for Clean Energy - KUG MunichPhysikal - Using Kotlin for Clean Energy - KUG Munich
Physikal - Using Kotlin for Clean Energy - KUG Munich
 
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
 
Performance Monitoring for the Cloud - Java2Days 2017
Performance Monitoring for the Cloud - Java2Days 2017Performance Monitoring for the Cloud - Java2Days 2017
Performance Monitoring for the Cloud - Java2Days 2017
 
Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363
 
Java2Days - Security for JavaEE and the Cloud
Java2Days - Security for JavaEE and the CloudJava2Days - Security for JavaEE and the Cloud
Java2Days - Security for JavaEE and the Cloud
 
Apache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ StuttgartApache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ Stuttgart
 
The First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
The First IoT JSR: Units of Measurement - JUG Berlin-BrandenburgThe First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
The First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
 

DevOps der Triple-E Klasse - Eclipse DemoCamp

  • 1. DevOps der Triple-E Klasse mit Hudson, Maven, Kokki Multiconf & PyDev Werner Keil Eclipse DemoCamp 2013 Karlsruhe 20. November 2013
  • 2. 2 © 2012-2013 Creative Arts & Technologies Bilder © Maersk Line und Andere
  • 3. Fahrplan • Einleitung • Hudson • Automatisierung • Maven • Build • Kokki • Konfiguration • Multiconf • PyDev • Entwicklung • Demo • Q&A 3 © 2012-2013 Creative Arts & Technologies
  • 4. Stapellauf 4 © 2013 Creative Arts & Technologies Bilder © Maersk Line
  • 5. Jungfernfahrt 5 © 2013 Creative Arts & Technologies
  • 6. 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
  • 7. 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
  • 8. Hudson | Downloads 8 © 2012 Creative Arts & Technologies
  • 9. Hudson | Commits 9 © 2012 Creative Arts & Technologies
  • 10. Hudson | Job Koordination 10 © 2012-2013 Creative Arts & Technologies
  • 11. Hudson | Job Koordination im Triple-E Stil 11 © 2012-2013 Creative Arts & Technologies
  • 12. Hudson | Promovierte Builds 12 © 2012-2013 Creative Arts & Technologies
  • 14. Maven Evolution der Build Systeme 14 © 2012-2013 Creative Arts & Technologies
  • 15. 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
  • 16. Missing Link Erstellen der (Virtuellen) Maschinen 16 © 2012-2013 Creative Arts & Technologies
  • 17. Viele Virtuelle Maschinen 17 © 2013 Creative Arts & Technologies Bilder © Maersk Line
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. Multiconf | Autor • Multiconf Autor • Lars Hupfeldt Nielsen • Alles Gute zum Geburtstag, Selma Lagerlöf wünscht „Nils Hupfeldtsson“ 26 © 2013 Creative Arts & Technologies
  • 27. 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
  • 28. 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
  • 29. PyDev | Code Completion 29 © 2012 Creative Arts & Technologies
  • 30. PyDev | Code Navigation 30 © 2012 Creative Arts & Technologies
  • 31. PyDev | Code Coverage 31 © 2012 Creative Arts & Technologies
  • 32. PyDev | Debugging 32 © 2012 Creative Arts & Technologies
  • 33. PyDev | Unit Tests 33 © 2012 Creative Arts & Technologies
  • 37. Links (2) Eclipse – Hudson http://www.eclipse.org/hudson/ Apache Maven http://www.apache.org/maven/ Java Config API http://java-config.java.net
  • 38. Vielen Dank 38 © 2012-2013 Creative Arts & Technologies Email werner@catmedia.us Twitter @wernerkeil Bilder © Maersk Line