Hudson Continous Integration Server. Stefan Saasen, stefan@coravy.com

Similar documents
Hudson configuration manual

"Build and Test in the Cloud "

Continuous integration with Jenkins CI

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

Jenkins TestLink Plug-in Tutorial

Continuous Integration (CI) and Testing - Configuring Bamboo, Hudson, and TestMaker

Delivering Quality Software with Continuous Integration

Build management & Continuous integration. with Maven & Hudson

Jenkins on Windows with StreamBase

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

Content. Development Tools 2(63)

Build Automation for Mobile. or How to Deliver Quality Apps Continuously. Angelo Rüggeberg

ALERT installation setup

SOFTWARE DEVELOPMENT BASICS SED

Escaping the Works-On-My-Machine badge Continuous Integration with PDE Build and Git

Evaluation. Chapter 1: An Overview Of Ruby Rails. Copy. 6) Static Pages Within a Rails Application

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

See the installation page

Automated performance testing using Maven & JMeter. George Barnett, Atlassian Software

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

HELIO Storage Service Developers Guide Draft

Automating the Nengo build process

Software Development Tools

Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release

Jenkins: The Definitive Guide

Test Automation Integration with Test Management QAComplete

Backing Up and Restoring the Database

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

Installing Ruby on Windows XP

Continuous Integration on System z

SAS Marketing Automation 4.4. Unix Install Instructions for Hot Fix 44MA10

BusinessObjects Enterprise XI Release 2

Configuring MailArchiva with Insight Server

Automate Your Deployment with Bamboo, Drush and Features DrupalCamp Scotland, 9 th 10 th May 2014

Software infrastructure for Java development projects

ZeroTurnaround License Server User Manual 1.4.0

Integration in Practice

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8

Volume SYSLOG JUNCTION. User s Guide. User s Guide

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

Content Management System

Ad Hoc Transfer Plug-in for Outlook Installation Guide

Brakeman and Jenkins: The Duo Detects Defects in Ruby on Rails Code

Step One: Installing Rsnapshot and Configuring SSH Keys

depl Documentation Release depl contributors

Implementing Microsoft SQL Server 2008 Exercise Guide. Database by Design

Software Quality Exercise 2

1 Building, Deploying and Testing DPES application

FileMaker Server 12. FileMaker Server Help

D5.4.4 Integrated SemaGrow Stack API components

DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction

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

Improving Software Quality with the Continuous Integration Server Hudson. Dr. Ullrich Hafner Avaloq Evolution AG 8911

Continuous Integration and Delivery at NSIDC

Configuring IBM HTTP Server as a Reverse Proxy Server for SAS 9.3 Web Applications Deployed on IBM WebSphere Application Server

Working with Docker on Microsoft Azure

Continuous Integration Multi-Stage Builds for Quality Assurance

Team Name : PRX Team Members : Liang Yu, Parvathy Unnikrishnan Nair, Reto Kleeb, Xinyi Wang

FileMaker Server 13. FileMaker Server Help

Server-Side Web Development JSP. Today. Web Servers. Static HTML Directives. Actions Comments Tag Libraries Implicit Objects. Apache.

QA PRO; TEST, MONITOR AND VISUALISE MYSQL PERFORMANCE IN JENKINS. Ramesh Sivaraman

This document is provided to you by ABC E BUSINESS, Microsoft Dynamics Preferred partner. System Requirements NAV 2016

The objective of this lab is to learn how to set up an environment for running distributed Hadoop applications.

Continuous Integration For Fusion Middleware

How to Install Multiple Monitoring Agents on a Microsoft Operating System. Version StoneGate Firewall/VPN 2.6 and SMC 3.2

DocuShare Installation Guide

Central Administration QuickStart Guide

Source Code Review Using Static Analysis Tools

Source Code Management for Continuous Integration and Deployment. Version 1.0 DO NOT DISTRIBUTE

Continuous Integration and Bamboo. Ryan Cutter CSCI Spring Semester

JavaScript Applications for the Enterprise: From Empty Folders to Managed Deployments. George Bochenek Randy Jones

Install BA Server with Your Own BA Repository

Tracking Network Changes Using Change Audit

SysPatrol - Server Security Monitor

FileMaker Server 11. FileMaker Server Help

Software Construction

The Automatic HTTP Requests Logging and Replaying Subsystem for CMS Plone

1 Recommended Readings. 2 Resources Required. 3 Compiling and Running on Linux

Continuous Integration

Building Ruby, Rails, LightTPD, and MySQL on Tiger

Ulteo Open Virtual Desktop Installation

PDQ-Wizard Prototype 1.0 Installation Guide

S3 Monitor Design and Implementation Plans

Redmine: A project management software tool. January, 2013

OpenGeo Suite for Linux Release 3.0

AmbrosiaMQ-MuleSource ESB Integration

DOCUMENT MANAGEMENT SYSTEM

FileMaker Server 10 Help

EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc.

Continuous Delivery. Alejandro Ruiz

IUCLID 5 Guidance and Support

Upgrading Horizon Workspace

CoProc2. 1 Overview. Contents. Eclipse/DataPower CoProcessor

Transcription:

Hudson Continous Integration Server Stefan Saasen, stefan@coravy.com

Continous Integration Software development practice Members of a team integrate their work frequently Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible http://martinfowler.com/articles/ continuousintegration.html

Continous Integration (CI) Server Prevents works on my machine bugs Starts building your project as soon as a new commit is made Build can be anything from compiling source code to running automatic tests, static code analysis and creating packages. Often it is a combination of all of the above mentioned steps Sends notifications if a build fails

Choosing a CI server There are many CI server implementations out there. Most of them are targeting a particular language or framework There are a couple of Ruby/Rails based implementations: cruisecontrol.rb (http:// cruisecontrolrb.thoughtworks.com/) cerberus (http://cerberus.rubyforge.org/)

Enter Hudson http://hudson.dev.java.net Two main objectives: Building/testing software projects continuously Monitoring executions of externally-run jobs

Enter Hudson f. Java based. Runs in any servlet container. Brings it s own servlet container Easy configuration (no XML - at least you don t have to touch it) RSS/E-Mail/IM integration Distributed builds Plugin support: Jabber, git, Twitter, Trac,Redmine...

Rails CI: Why Hudson? Hudson can be used for: Java projects (has Junit/TestNG support, jar file fingerprints) Rails/Ruby projects Flex, Latex, C or whatever can be build with a command line script As a replacement for cron/at Well suited for multi language environments

Hudson test drive curl -OL http://hudson.gotdns.com/latest/hudson.war (or just download it using a browser) java -jar hudson.war open http://localhost:8080/ It s that simple

How does it work? Configuration and projects are stored in the Hudson workspace directory This is $HOME/.hudson by default You can change this location simply by moving or copying the whole directory to a new location All the settings, logs, build archives are stored here. This is the directory to backup! To change this: Set the HUDSON_HOME environment variable before starting Hudson export HUDSON_HOME=/opt/local/hudson/workspace

Rails + git + Hudson Install the required plugins and configure Hudson Prepare your Rails project Configure git to run Hudson builds

Install the required Hudson plugins To make Hudson a viable Rails build server we need a couple of plugins (Manage Hudson > Manage Plugins): git rake ruby rubymetrics Install the plugins and restart Hudson!

Create a new Hudson job

Configure the project

Configure You the need the project. ci_reporter gem f. for this.

Rails + git + Hudson Install the required plugins and configure Hudson Prepare your Rails project Configure git to run Hudson builds

Prepare the Rails project There is no need to change anything if you don t want to Hudson can run any script and marks a build as success or failure depending on the exit code of the script (echo $? -> 0: success, everything else: failure) But: to draw fancy graphs we need a machine readable test output

Prepare the Rails project f. CI::Reporter is an add-on to Test::Unit and RSpec that allows you to generate XML reports of your test and/or spec runs. The resulting files can be read by a continuous integration system that understands Ant s JUnit report XML format. (http://caldersphere.rubyforge.org/ci_reporter/) Install the ci_reporter gem: sudo gem install ci_reporter Add ci_reporter to the main Rakefile and invoke the ci_reporter target ci_reporter

Rails + git + Hudson Install the required plugins and configure Hudson Prepare your Rails project Configure git to run Hudson builds

Configure git to run Hudson builds Run a build as soon as you have pushed your changes back to the shared repository

Configure git to run Hudson builds f. Add the following lines to the.git/hooks/postreceive hook (Change the job name accordingly): Make the post-receive hook executable: chmod u+x.git/hooks/post-receive

Thank you. Questions?