SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Triple-E’ class DevOps 
with Hudson, Maven, Kokki 
Multiconf & PyDev 
Werner Keil 
PyUGAT 
15th October 2014
Images © 2 © 2012-2013 Creative Arts & Technologies Maersk Line and Others
Overview 
• Introduction 
• Kokki 
• Configuration 
• Multiconf 
• PyDev 
• Development 
• Maven 
• Build 
• Hudson 
• Automation 
• Demo 
•Q&A 
3 © 2012-2013 Creative Arts & Technologies
Who am I? 
Werner Keil 
• Consultant – Coach 
• Creative Cosmopolitan 
• Open Source Evangelist 
• Software Architect 
• Java Godfather 
• UOMo Project Lead 
• Mærsk DevOps Guy 
… 
Email werner@catmedia.us 
4 © 2012-2013 Creative Arts & Technologies 
Twitter @wernerkeil
Kokki 
• Infrastructure Automation → Configuration 
Management 
• Part of Provisioning 
• Library and simple command line tool 
• Currently no client/server component 
• Can use GitHub in place of client/server 
• Alternative to Puppet/Chef/Cfengine 
• Implemented in Python 
5 © 2012 Creative Arts & Technologies
Kokki | Terms 
• Kokki is a configuration management framework. 
• It can be used standalone or as a part of a more complex system. 
• It means “cook” in Finnish 
• Environment: Execution environment 
• Resource: Describes a file, service, package, etc.. 
• Provider: Knows how to execute a resource 
• Kitchen: Container for cookbooks 
• Cookbook: Container for recipes and libraries 
• Recipe: group of resource definitions 
• Library: utility methods, resources, and providers 
6 © 2012 Creative Arts & Technologies
Kokki | Quick Example 
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() 
7 © 2012 Creative Arts & Technologies
Kokki++ | Multiconf 
•Multiconf is a framework for describing complex 
environments using Python. 
•Why 
• It started from a simple need of continuous deployment of Java EE projects. 
• Using a bunch of Python scripts, and a bunch of plain text property files. 
• When number of property files increased number of scripts increased, too… 
• Out of this dilemma Multiconf was born. 
8 © 2012 Creative Arts & Technologies
Multiconf 
•How 
• Imagine a project, using multiple servers like Tomcat, Jetty, JBoss, Glassfish 
or Weblogic. 
• You are going to use database connections and four environments: 
• Local (for developer's local machine) 
• Dev 
• Test 
• Prod 
• Project configuration will be similar on different environments, but something 
will be different (databases and ports, for example). 
9 © 2012 Creative Arts & Technologies
Multiconf (2) 
•What Multiconf is not 
• Multiconf itself doesn't know how to create environments. 
• Multiconf doesn't know how to create any of the environment's components 
• Multiconf has nothing to execute 
• Perfect match for a system such as Kokki 
• Same language 
• Pluggable recipes and Libraries make Kokki open to such Extensions 
•What Multiconf is 
• Multiconf allows you to define your software stack and get early warning that 
something within your definition is wrong. Other tools use YAML or JSON to 
define settings of the components, but then you need something to validate 
those settings. Multiconf is both - definition and validation. 
10 © 2012 Creative Arts & Technologies
Multiconf | JSF Example 
from javax_faces import ProjectStage 
from valid_envs import local, dev, test, pp, prod 
def jsf_stages(): 
with ProjectStage() as ps: 
ps.name(local=”Development”, 
dev=”Development”, 
test=”UnitTest”, 
pp=”SystemTest”, 
prod=”Production”) 
11 © 2012 Creative Arts & Technologies
Multiconf | Inspired... 
Apache Tamaya 
• Started by 
• Anatole Tresch 
(Crédit Suisse) 
• Mit etwas Hilfe 
u.a. durch den 
„Java Godfather“ 
•Proposal for 
• An Apache Incubator Project 
• See.: https://github.com/java-config 
© 2012-2014 Creative Arts & Technologies
Multiconf | ”at Apache” 
Apache Tamaya 
•Scope 
• Provide type-safe enterprise-ready configuration standard for SE and EE 
(optionally also ME?) 
• Ensure it is a simple but extensible 
• Ready for complex scenarios like Java EE, Multi-Tenancy etc. 
• Ensure interoperability with existing solutions 
• Align Configuration Aspects with EE8 and the Java Platform 
• Other languages (as Apache is rather polyglot) 
© 2012-2014 Creative Arts & Technologies
Multiconf | ”at Apache” 
Apache Tamaya 
• State 
• Already running code base 
• Large support in User Groups around the world 
• Supported by leading industry experts 
© 2012-2014 Creative Arts & Technologies
PyDev 
•PyDev is a product of Appcelerator, a platform 
and services company that is enabling Web 
developers to build cross-platform / native 
applications for Mobile, Tablet and Desktop 
platforms 
Winner of 2011 Eclipse Award 
for Best Developer Tool 
Appcelerator also makes Aptana Studio and 
Titanium Studio, Eclipse-based IDEs targeting 
Web and Mobile platforms. 
15 © 2012 Creative Arts & Technologies
PyDev Now 
•PyDev ist now Open Source Project, 
lead by Fabio Zadrozny in Florianópolis, Brasil: 
www.pydev.org 
© 2012-2014 Creative Arts & Technologies Bilder © FIFA
PyDev | Code Completion 
17 © 2012 Creative Arts & Technologies
PyDev | Code Navigation 
18 © 2012 Creative Arts & Technologies
PyDev | Code Coverage 
19 © 2012 Creative Arts & Technologies
PyDev | Debugging 
20 © 2012 Creative Arts & Technologies
PyDev | Unit Tests 
21 © 2012 Creative Arts & Technologies
PyDev 
DEMO
Maven 
The evolution of build systems 
23 © 2012 Creative Arts & Technologies
Maven 
“Lean” Usage 
• Using Maven for what it’s Best at 
• Dependency Management 
• Nexus 
•Managed Environment 
• Generated / Called by Kokki 
• Hudson Plugins 
24 © 2012 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) 
25 © 2012 Creative Arts & Technologies
Hudson | Downloads 
26 © 2012 Creative Arts & Technologies
Hudson | Commits 
27 © 2012 Creative Arts & Technologies
Hudson | Job Coordination 
28 © 2012 Creative Arts & Technologies
Hudson | Job Coordination Triple-E size 
29 © 2012 Creative Arts & Technologies
Hudson | Promoted Builds 
30 © 2012 Creative Arts & Technologies
The Price of Continuous Integration 
32 © 2012 Creative Arts & Technologies
Let‘s talk 
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/
Twitter @wernerkeil 
Thank you Email werner@catmedia.us 
36 © 2012 Creative Arts & Technologies Images © Maersk Line

Weitere ähnliche Inhalte

Was ist angesagt? (20)

Introduction to Maven
Introduction to MavenIntroduction to Maven
Introduction to Maven
 
Maven Overview
Maven OverviewMaven Overview
Maven Overview
 
Introduction to Apache Maven
Introduction to Apache MavenIntroduction to Apache Maven
Introduction to Apache Maven
 
Apache maven 2 overview
Apache maven 2 overviewApache maven 2 overview
Apache maven 2 overview
 
Apache Maven In 10 Slides
Apache Maven In 10 SlidesApache Maven In 10 Slides
Apache Maven In 10 Slides
 
Hands On with Maven
Hands On with MavenHands On with Maven
Hands On with Maven
 
Development Tools - Maven
Development Tools - MavenDevelopment Tools - Maven
Development Tools - Maven
 
Introduction to maven
Introduction to mavenIntroduction to maven
Introduction to maven
 
Demystifying Maven
Demystifying MavenDemystifying Maven
Demystifying Maven
 
Maven
MavenMaven
Maven
 
Maven 2 Introduction
Maven 2 IntroductionMaven 2 Introduction
Maven 2 Introduction
 
Maven 3 Overview
Maven 3  OverviewMaven 3  Overview
Maven 3 Overview
 
Maven
MavenMaven
Maven
 
Maven tutorial for beginners
Maven tutorial for beginnersMaven tutorial for beginners
Maven tutorial for beginners
 
Liferay maven sdk
Liferay maven sdkLiferay maven sdk
Liferay maven sdk
 
Maven plugins, properties en profiles: Advanced concepts in Maven
Maven plugins, properties en profiles: Advanced concepts in MavenMaven plugins, properties en profiles: Advanced concepts in Maven
Maven plugins, properties en profiles: Advanced concepts in Maven
 
Maven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafeMaven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafe
 
Maven
MavenMaven
Maven
 
(Re)-Introduction to Maven
(Re)-Introduction to Maven(Re)-Introduction to Maven
(Re)-Introduction to Maven
 
Maven
MavenMaven
Maven
 

Andere mochten auch

Correo institucional_Escuela de Verano
Correo institucional_Escuela de VeranoCorreo institucional_Escuela de Verano
Correo institucional_Escuela de VeranoElena Moreno
 
BAU International Executive MBA Webinar
BAU International Executive MBA WebinarBAU International Executive MBA Webinar
BAU International Executive MBA Webinarbauinternational
 
Ice Presentacio
Ice PresentacioIce Presentacio
Ice Presentacioaaupcfira
 
Elaboració del whisky de malta
Elaboració del whisky de maltaElaboració del whisky de malta
Elaboració del whisky de maltaJoan Mitjavila
 
iPad sales app - Professionelles Präsentieren im Vertrieb
iPad sales app - Professionelles Präsentieren im VertriebiPad sales app - Professionelles Präsentieren im Vertrieb
iPad sales app - Professionelles Präsentieren im Vertriebexcelsis
 
Biologie de synthèse
Biologie de synthèseBiologie de synthèse
Biologie de synthèseGreenFacts
 
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"sosracismo
 
El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8Ymbra
 
Relaciones sociales en la Empresa - Sesion MasterUp
Relaciones sociales en la Empresa - Sesion MasterUpRelaciones sociales en la Empresa - Sesion MasterUp
Relaciones sociales en la Empresa - Sesion MasterUpJorge Galindo Cruces
 
Module 1 bilingual glossary
Module 1 bilingual glossaryModule 1 bilingual glossary
Module 1 bilingual glossaryFifthgrademiss
 
Información, Trucos y Consejos de impresión
Información, Trucos y Consejos de impresiónInformación, Trucos y Consejos de impresión
Información, Trucos y Consejos de impresiónimpresum
 
Arquitectura API Rest.
Arquitectura API Rest.Arquitectura API Rest.
Arquitectura API Rest.melidevelopers
 

Andere mochten auch (20)

Correo institucional_Escuela de Verano
Correo institucional_Escuela de VeranoCorreo institucional_Escuela de Verano
Correo institucional_Escuela de Verano
 
Social Media Marketing: mucho más que redes sociales
Social Media Marketing: mucho más que redes socialesSocial Media Marketing: mucho más que redes sociales
Social Media Marketing: mucho más que redes sociales
 
BAU International Executive MBA Webinar
BAU International Executive MBA WebinarBAU International Executive MBA Webinar
BAU International Executive MBA Webinar
 
Ice Presentacio
Ice PresentacioIce Presentacio
Ice Presentacio
 
Elaboració del whisky de malta
Elaboració del whisky de maltaElaboració del whisky de malta
Elaboració del whisky de malta
 
iPad sales app - Professionelles Präsentieren im Vertrieb
iPad sales app - Professionelles Präsentieren im VertriebiPad sales app - Professionelles Präsentieren im Vertrieb
iPad sales app - Professionelles Präsentieren im Vertrieb
 
Le client au centre
Le client au centreLe client au centre
Le client au centre
 
Manual divulgativo life_urogallo
Manual divulgativo life_urogalloManual divulgativo life_urogallo
Manual divulgativo life_urogallo
 
Biologie de synthèse
Biologie de synthèseBiologie de synthèse
Biologie de synthèse
 
Qui acd alyr
Qui acd alyrQui acd alyr
Qui acd alyr
 
Bahamonde pereira
Bahamonde   pereiraBahamonde   pereira
Bahamonde pereira
 
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"
 
El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8
 
Problems in mathematical analysis
Problems in mathematical analysisProblems in mathematical analysis
Problems in mathematical analysis
 
Relaciones sociales en la Empresa - Sesion MasterUp
Relaciones sociales en la Empresa - Sesion MasterUpRelaciones sociales en la Empresa - Sesion MasterUp
Relaciones sociales en la Empresa - Sesion MasterUp
 
Module 1 bilingual glossary
Module 1 bilingual glossaryModule 1 bilingual glossary
Module 1 bilingual glossary
 
Información, Trucos y Consejos de impresión
Información, Trucos y Consejos de impresiónInformación, Trucos y Consejos de impresión
Información, Trucos y Consejos de impresión
 
Central Asia
Central AsiaCentral Asia
Central Asia
 
Consommer, S'engager
Consommer, S'engagerConsommer, S'engager
Consommer, S'engager
 
Arquitectura API Rest.
Arquitectura API Rest.Arquitectura API Rest.
Arquitectura API Rest.
 

Ähnlich wie Triple-E DevOps with Hudson, Maven, Kokki Multiconf & PyDev

Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDevTriple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDevWerner Keil
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for RealistsOracle Developers
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realistsKarthik Gaekwad
 
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...Red Hat Developers
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentDevOps.com
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2Docker, Inc.
 
Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupKamesh Pemmaraju
 
DEEP: a user success story
DEEP: a user success storyDEEP: a user success story
DEEP: a user success storyEOSC-hub project
 
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”Cisco DevNet
 
DockerPenang Meetup#1
DockerPenang Meetup#1DockerPenang Meetup#1
DockerPenang Meetup#1Sujay Pillai
 
SwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptxSwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptxGrace Jansen
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyAjeet Singh Raina
 
Developer Experience Overview
Developer Experience OverviewDeveloper Experience Overview
Developer Experience OverviewRoss Jimenez
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realistsKarthik Gaekwad
 
Introduction of CCE and DevCloud
Introduction of CCE and DevCloudIntroduction of CCE and DevCloud
Introduction of CCE and DevCloudOpsta
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT CampusAjeet Singh Raina
 
Implementing DevOps – How it came to the fore, its key elements and example d...
Implementing DevOps – How it came to the fore, its key elements and example d...Implementing DevOps – How it came to the fore, its key elements and example d...
Implementing DevOps – How it came to the fore, its key elements and example d...Barton George
 
Docker open stack boston
Docker open stack bostonDocker open stack boston
Docker open stack bostondotCloud
 

Ähnlich wie Triple-E DevOps with Hudson, Maven, Kokki Multiconf & PyDev (20)

Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDevTriple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston Meetup
 
DEEP: a user success story
DEEP: a user success storyDEEP: a user success story
DEEP: a user success story
 
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”
 
DockerPenang Meetup#1
DockerPenang Meetup#1DockerPenang Meetup#1
DockerPenang Meetup#1
 
SwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptxSwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptx
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
 
Developer Experience Overview
Developer Experience OverviewDeveloper Experience Overview
Developer Experience Overview
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
Why to docker
Why to dockerWhy to docker
Why to docker
 
Introduction of CCE and DevCloud
Introduction of CCE and DevCloudIntroduction of CCE and DevCloud
Introduction of CCE and DevCloud
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Implementing DevOps – How it came to the fore, its key elements and example d...
Implementing DevOps – How it came to the fore, its key elements and example d...Implementing DevOps – How it came to the fore, its key elements and example d...
Implementing DevOps – How it came to the fore, its key elements and example d...
 
Docker open stack boston
Docker open stack bostonDocker open stack boston
Docker open stack boston
 
OpenStack Boston
OpenStack BostonOpenStack Boston
OpenStack Boston
 

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
 

Kürzlich hochgeladen

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Kürzlich hochgeladen (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 

Triple-E DevOps with Hudson, Maven, Kokki Multiconf & PyDev

  • 1. Triple-E’ class DevOps with Hudson, Maven, Kokki Multiconf & PyDev Werner Keil PyUGAT 15th October 2014
  • 2. Images © 2 © 2012-2013 Creative Arts & Technologies Maersk Line and Others
  • 3. Overview • Introduction • Kokki • Configuration • Multiconf • PyDev • Development • Maven • Build • Hudson • Automation • Demo •Q&A 3 © 2012-2013 Creative Arts & Technologies
  • 4. Who am I? Werner Keil • Consultant – Coach • Creative Cosmopolitan • Open Source Evangelist • Software Architect • Java Godfather • UOMo Project Lead • Mærsk DevOps Guy … Email werner@catmedia.us 4 © 2012-2013 Creative Arts & Technologies Twitter @wernerkeil
  • 5. Kokki • Infrastructure Automation → Configuration Management • Part of Provisioning • Library and simple command line tool • Currently no client/server component • Can use GitHub in place of client/server • Alternative to Puppet/Chef/Cfengine • Implemented in Python 5 © 2012 Creative Arts & Technologies
  • 6. Kokki | Terms • Kokki is a configuration management framework. • It can be used standalone or as a part of a more complex system. • It means “cook” in Finnish • Environment: Execution environment • Resource: Describes a file, service, package, etc.. • Provider: Knows how to execute a resource • Kitchen: Container for cookbooks • Cookbook: Container for recipes and libraries • Recipe: group of resource definitions • Library: utility methods, resources, and providers 6 © 2012 Creative Arts & Technologies
  • 7. Kokki | Quick Example 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() 7 © 2012 Creative Arts & Technologies
  • 8. Kokki++ | Multiconf •Multiconf is a framework for describing complex environments using Python. •Why • It started from a simple need of continuous deployment of Java EE projects. • Using a bunch of Python scripts, and a bunch of plain text property files. • When number of property files increased number of scripts increased, too… • Out of this dilemma Multiconf was born. 8 © 2012 Creative Arts & Technologies
  • 9. Multiconf •How • Imagine a project, using multiple servers like Tomcat, Jetty, JBoss, Glassfish or Weblogic. • You are going to use database connections and four environments: • Local (for developer's local machine) • Dev • Test • Prod • Project configuration will be similar on different environments, but something will be different (databases and ports, for example). 9 © 2012 Creative Arts & Technologies
  • 10. Multiconf (2) •What Multiconf is not • Multiconf itself doesn't know how to create environments. • Multiconf doesn't know how to create any of the environment's components • Multiconf has nothing to execute • Perfect match for a system such as Kokki • Same language • Pluggable recipes and Libraries make Kokki open to such Extensions •What Multiconf is • Multiconf allows you to define your software stack and get early warning that something within your definition is wrong. Other tools use YAML or JSON to define settings of the components, but then you need something to validate those settings. Multiconf is both - definition and validation. 10 © 2012 Creative Arts & Technologies
  • 11. Multiconf | JSF Example from javax_faces import ProjectStage from valid_envs import local, dev, test, pp, prod def jsf_stages(): with ProjectStage() as ps: ps.name(local=”Development”, dev=”Development”, test=”UnitTest”, pp=”SystemTest”, prod=”Production”) 11 © 2012 Creative Arts & Technologies
  • 12. Multiconf | Inspired... Apache Tamaya • Started by • Anatole Tresch (Crédit Suisse) • Mit etwas Hilfe u.a. durch den „Java Godfather“ •Proposal for • An Apache Incubator Project • See.: https://github.com/java-config © 2012-2014 Creative Arts & Technologies
  • 13. Multiconf | ”at Apache” Apache Tamaya •Scope • Provide type-safe enterprise-ready configuration standard for SE and EE (optionally also ME?) • Ensure it is a simple but extensible • Ready for complex scenarios like Java EE, Multi-Tenancy etc. • Ensure interoperability with existing solutions • Align Configuration Aspects with EE8 and the Java Platform • Other languages (as Apache is rather polyglot) © 2012-2014 Creative Arts & Technologies
  • 14. Multiconf | ”at Apache” Apache Tamaya • State • Already running code base • Large support in User Groups around the world • Supported by leading industry experts © 2012-2014 Creative Arts & Technologies
  • 15. PyDev •PyDev is a product of Appcelerator, a platform and services company that is enabling Web developers to build cross-platform / native applications for Mobile, Tablet and Desktop platforms Winner of 2011 Eclipse Award for Best Developer Tool Appcelerator also makes Aptana Studio and Titanium Studio, Eclipse-based IDEs targeting Web and Mobile platforms. 15 © 2012 Creative Arts & Technologies
  • 16. PyDev Now •PyDev ist now Open Source Project, lead by Fabio Zadrozny in Florianópolis, Brasil: www.pydev.org © 2012-2014 Creative Arts & Technologies Bilder © FIFA
  • 17. PyDev | Code Completion 17 © 2012 Creative Arts & Technologies
  • 18. PyDev | Code Navigation 18 © 2012 Creative Arts & Technologies
  • 19. PyDev | Code Coverage 19 © 2012 Creative Arts & Technologies
  • 20. PyDev | Debugging 20 © 2012 Creative Arts & Technologies
  • 21. PyDev | Unit Tests 21 © 2012 Creative Arts & Technologies
  • 23. Maven The evolution of build systems 23 © 2012 Creative Arts & Technologies
  • 24. Maven “Lean” Usage • Using Maven for what it’s Best at • Dependency Management • Nexus •Managed Environment • Generated / Called by Kokki • Hudson Plugins 24 © 2012 Creative Arts & Technologies
  • 25. 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) 25 © 2012 Creative Arts & Technologies
  • 26. Hudson | Downloads 26 © 2012 Creative Arts & Technologies
  • 27. Hudson | Commits 27 © 2012 Creative Arts & Technologies
  • 28. Hudson | Job Coordination 28 © 2012 Creative Arts & Technologies
  • 29. Hudson | Job Coordination Triple-E size 29 © 2012 Creative Arts & Technologies
  • 30. Hudson | Promoted Builds 30 © 2012 Creative Arts & Technologies
  • 31. The Price of Continuous Integration 32 © 2012 Creative Arts & Technologies
  • 33. Links Kokki https://github.com/samuel/kokki Multiconf https://github.com/lhupfeldt/multiconf PyDev http://www.pydev.org
  • 34. Links (2) Eclipse – Hudson http://www.eclipse.org/hudson/ Apache Maven http://www.apache.org/maven/
  • 35. Twitter @wernerkeil Thank you Email werner@catmedia.us 36 © 2012 Creative Arts & Technologies Images © Maersk Line