Triple-E class Continuous Delivery

Similar documents
OpenShift. OpenShift platform features. Benefits Document. openshift. Feature Benefit OpenShift. Enterprise

BONITA, The Open Source BPM Solution

NetBeans: Universal Tool for Java Development and More. Roman Štrobl Technology Evangelist

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

"Build and Test in the Cloud "

Meister Going Beyond Maven

BIRT Application and BIRT Report Deployment Functional Specification

HELIO Storage Service Developers Guide Draft

Continuous Integration and Bamboo. Ryan Cutter CSCI Spring Semester

SMZ. SocialMedia. Z olutions

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

MSWL Development & Tool. Eclipse IDE

<Insert Picture Here> Introducing Hudson. Winston Prakash. Click to edit Master subtitle style

Developing and deploying mobile apps

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:

T320 E-business technologies: foundations and practice

Maven2 Reference. Invoking Maven General Syntax: Prints help debugging output, very useful to diagnose. Creating a new Project (jar) Example:

Jenkins User Conference Herzelia, July #jenkinsconf. Testing a Large Support Matrix Using Jenkins. Amir Kibbar HP

Java EE 6 development with Eclipse, Netbeans, IntelliJ and GlassFish. Ludovic Champenois Oracle Corporation

How To Set Up Wiremock In Anhtml.Com On A Testnet On A Linux Server On A Microsoft Powerbook 2.5 (Powerbook) On A Powerbook 1.5 On A Macbook 2 (Powerbooks)

Sonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI)

KonyOne Server Installer - Linux Release Notes

Software Development In the Cloud Cloud management and ALM

Continuous integration with Jenkins CI

JRuby Now and Future Charles Oliver Nutter JRuby Guy Sun Microsystems

Python and Google App Engine

Continuous Integration For Fusion Middleware

Introduction to Programming Tools. Anjana & Shankar September,2010

How to Easily Integrate BIRT Reports into your Web Application

Rapid Application Development. and Application Generation Tools. Walter Knesel

Security Testing of Java web applications Using Static Bytecode Analysis of Deployed Applications

Nanda Kishor K N. nandakishorkn@gmail.com

DevOps Course Content

Leveraging Rational Team Concert's build capabilities for Continuous Integration

OpenShift Enterprise PaaS by Red Hat. Andrey Markelov RHCA Red Hat, Presales Solution Architect

Preface. Motivation for this Book

Accelerated Java EE Open Source Development with Eclipse CON1905

Hudson configuration manual

depl Documentation Release depl contributors

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

NXTware Remote. Advanced Development and Maintenance Environment for OpenVMS and other Strategic Platforms

RTI Quick Start Guide for JBoss Operations Network Users

Configuring and Integrating JMX

JBoss Enterprise Middleware. The foundation of your open source middleware reference architecture

ON-PREMISE OR IN THE CLOUD, A SINGLE JAVA EE APPLICATION PLATFORM

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

Sonatype CLM for Maven. Sonatype CLM for Maven

<Insert Picture Here> GlassFish v3 - A Taste of a Next Generation Application Server

Integration in Practice

Build management & Continuous integration. with Maven & Hudson

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE

THE OPEN SOURCE DEVELOPER REPORT

Smarter Balanced Reporting (RFP 15) Developer Guide

OpenShift is FanPaaStic For Java EE. By Shekhar Gulati Promo Code JUDCON.IN

How To Understand The Architecture Of An Ulteo Virtual Desktop Server Farm

Oracle WebLogic Server 11g: Administration Essentials

Nuxeo, an open source platform for content-centric business applications. Stéfane Fermigier, Nuxeo Laurent Doguin, Nuxeo

TF04 - Leveraging SQL Server Business Intelligence Tools

Monitoring Oracle Enterprise Performance Management System Release Deployments from Oracle Enterprise Manager 12c

Magento Search Extension TECHNICAL DOCUMENTATION

Jenkins: The Definitive Guide

IBM Rational Web Developer for WebSphere Software Version 6.0

Running and Testing Java EE Applications in Embedded Mode with JupEEter Framework

Beginners guide to continuous integration. Gilles QUERRET Riverside Software

ALERT installation setup

Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004

DELIVERABLE. Europeana Cloud: Unlocking Europe s Research via The Cloud. Deliverable D2.1 Development Environment

TUTORIAL ECLIPSE CLASSIC VERSION: ON SETTING UP OPENERP 6.1 SOURCE CODE UNDER WINDOWS PLATFORM. by Pir Khurram Rashdi

Jenkins World Tour 2015 Santa Clara, CA, September 2-3

Middleware Platforms for Application Development: A Product Comparison

SCOUT IN THE CLOUD. How to Scale Eclipse Scout Applications in the Cloud? Judith Gull & Thomas Schweigler

OpenShift on OpenStack

Jenkins on Windows with StreamBase

Data Center Automation with YADT

OpenShift. Marek Jelen, OpenShift, Red Hat

JBoss Enterprise Middleware

CloudBees Continuous Integration and Test with Appvance Enterprise August 28, 2013 Frank Cohen, (408)

Upping the game. Improving your software development process

OpenSSO: Simplify Your Single-Sign-On Needs. Sang Shin Java Technology Architect Sun Microsystems, inc. javapassion.com

NetBeans IDE Field Guide

Continuous Integration In challenging environments w/ Ansible. PyCon5 Italy, Cesare Placanica

Nexus Professional Whitepaper. Repository Management: Stages of Adoption

Ruby on Rails in GlassFish Sun Microsystems

Installing Ruby on Windows XP

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

1 Building, Deploying and Testing DPES application

Getting Started with Open Source Compliance

Agile Best Practices and Patterns for Success on an Agile Software development project.

How to Enable Remote JMX Access to Quartz Schedulers. M a y 1 2,

Oracle. Getting Started with Database Mobile Server (DMS) Release: 11.3

Paul Barham Program Manager - Java. David Staheli (dastahel@microsoft.com) Software Development Manager - Java

soapui Product Comparison

JBoss JEE5 with EJB3.0 on NonStop. JAVA SIG, San Jose

Transcription:

Triple-E class Continuous Delivery with Hudson, Maven, Kokki and PyDev Werner Keil Eclipse Day Delft 27 th September 2012

2 2012 Creative Arts & Technologies Images Maersk Line and Others

Overview Introduction Kokki Configuration Multiconf PyDev Development Maven Build Hudson Automation Demo Q&A 3 2012 Creative Arts & Technologies

Who am I? Werner Keil Consultant Coach Creative Cosmopolitan Open Source Evangelist Software Architect Java Godfather UOMo Project Lead Email werner@catmedia.us Twitter @wernerkeil 4 2012 Creative Arts & Technologies

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 localhost\n" "255.255.255.255 broadcasthost\n" "::1 localhost\n" "fe80::1%lo0 localhost\n") 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

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. 12 2012 Creative Arts & Technologies

PyDev Code Completion 13 2012 Creative Arts & Technologies

PyDev Code Navigation 14 2012 Creative Arts & Technologies

PyDev Code Coverage 15 2012 Creative Arts & Technologies

PyDev Debugging 16 2012 Creative Arts & Technologies

PyDev Unit Tests 17 2012 Creative Arts & Technologies

PyDev DEMO

Maven The evolution of build systems 19 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 20 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) 21 2012 Creative Arts & Technologies

Hudson Downloads 22 2012 Creative Arts & Technologies

Hudson Commits 23 2012 Creative Arts & Technologies

Hudson Job Coordination 24 2012 Creative Arts & Technologies

Hudson Job Coordination Triple-E size 25 2012 Creative Arts & Technologies

Hudson Promoted Builds 26 2012 Creative Arts & Technologies

Hudson DEMO

The Price of Continuous Integration 28 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/

Thank you 32 2012 Creative Arts & Technologies Images Maersk Line