Integration in Practice



Similar documents
Tuning Tips & Techniques

Jenkins: The Definitive Guide

Management. Oracle Fusion Middleware. 11 g Architecture and. Oracle Press ORACLE. Stephen Lee Gangadhar Konduri. Mc Grauu Hill.

Building and Managing

Understanding the Pros and Cons of Combination Networks 7. Acknowledgments Introduction. Establishing the Numbers of Clients and Servers 4

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

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

WebLogic Server 11g Administration Handbook

Networking. Sixth Edition. A Beginner's Guide BRUCE HALLBERG

Manager 10g Grid Control Handbook

Oracle JDeveloper 10g for Forms & PL/SQL

Security Metrics. A Beginner's Guide. Caroline Wong. Mc Graw Hill. Singapore Sydney Toronto. Lisbon London Madrid Mexico City Milan New Delhi San Juan

Compensating the Sales Force

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

Oracle Backup & Recovery

Cisco. A Beginner's Guide Fifth Edition ANTHONY T. VELTE TOBY J. VELTE. City Milan New Delhi Singapore Sydney Toronto. Mc Graw Hill Education

VISUALIZING DATA POWER VIEW. with MICROSOFT. Brian Larson. Mark Davis Dan English Paui Purington. Mc Grauu. Sydney Toronto

Applications. Oracle WebCenter 11 g Handbook: Build Rich, Customizable Enterprise 2.0. Oracle Press ORACLE. Philipp Weckerle.

How To Write A Web Framework In Java

Expert Oracle Enterprise

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

Continuous Integration and Delivery at NSIDC

RHCSA 7RHCE Red Haf Linux Certification Practice

Security Information and

Meister Going Beyond Maven

Build management & Continuous integration. with Maven & Hudson

Apple Pro Training Series. OS X Server. Essentials. Arek Dreyer. and Ben Greisler

Java Power Tools. John Ferguson Smart. ULB Darmstadt 1 PI. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo

Continuous Integration: A case study

System Administration of Windchill 10.2

WHITE PAPER. Getting started with Continuous Integration in software development. - Amruta Kumbhar, Madhavi Shailaja & Ravi Shankar Anupindi

Delivery. Continuous. Jez Humble and David Farley. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco

The Process. Improvement. Handbook. A Blueprint for Managing Change and. Increasing Organizational Performance. Tristan Boutros.

Sonatype Nexus Professional

Integrity 10. Curriculum Guide

Master Data Management and Data Governance Second Edition

"Build and Test in the Cloud "

Continuous Integration and Bamboo. Ryan Cutter CSCI Spring Semester

Implementation & Administration

Configuring Security for FTP Traffic

Practical Android Projects Lucas Jordan Pieter Greyling

MySQL Enterprise Monitor

Hudson configuration manual

Continuous Integration

Desktop Virtualization Technologies and Implementation

Mastering Continuous Integration with Jenkins

SIEMENS. Teamcenter Windows Server Installation PLM

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

System Administration: The Complete Reference

Oracle Fusion Middleware. 1 Oracle Team Productivity Center Server System Requirements. 2 Installing the Oracle Team Productivity Center Server

Rational Quality Manager. Quick Start Tutorial

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management

CA Harvest Software Change Manager

Web Development with TIBCO General Interface

Continuous Integration For Fusion Middleware

WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE

Continuous Integration: Put it at the heart of your development

Installing Globodox Web Client on Windows Server 2012

MCSE Windows 98 Study Guide

Sonatype CLM for Maven. Sonatype CLM for Maven

NetBeans IDE Field Guide

User's Guide - Beta 1 Draft

Oracle Enterprise Manager

Nexus Professional Whitepaper. Repository Management: Stages of Adoption

Enterprise. ESXi in the. VMware ESX and. Planning Deployment of. Virtualization Servers. Edward L. Haletky

SOFTWARE DEVELOPMENT BASICS SED

FileMaker Server 15. Getting Started Guide

Application Discovery Manager User s Guide vcenter Application Discovery Manager 6.2.1

"Charting the Course... MOC B Server Virtualization with Windows Hyper-V and System Center. Course Summary

Elgg 1.8 Social Networking

SMZ. SocialMedia. Z olutions

Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release

Building VPNs. Nam-Kee Tan. With IPSec and MPLS. McGraw-Hill CCIE #4307 S&

Hudson Continous Integration Server. Stefan Saasen,

Release Notes for Websense Web Endpoint (32- and 64-bit OS)

LoadRunner and Performance Center v11.52 Technical Awareness Webinar Training

This presentation introduces you to the new call home feature in IBM PureApplication System V2.0.

DevOps Course Content

Windows Server 2008 R2 Remote Desktop Services

Integrating Online Banking and Top-up Card into Payment Gateway

JIRA Administration Best Practices

Oracle Enterprise Manager

Beginners guide to continuous integration. Gilles QUERRET Riverside Software

TIBCO Administrator User s Guide. Software Release March 2012

Enabling Continuous Delivery for Java Projects with Oracle Cloud Services (Oracle PaaS) Siva Rama Krishna Oracle India

November 12 th 13 th London: Mastering Continuous Integration with Jenkins

Software Configuration Management and Continuous Integration

An Oracle White Paper September Oracle Team Productivity Center

Pro SQL Server Reporting Services. Third Edition. mm m. Brian McDonald. Shawn McGehee. Rodney Landrum. Apress*

The Data Access Handbook

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

Interworks. Interworks Cloud Platform Installation Guide

No.1 IT Online training institute from Hyderabad URL: sriramtechnologies.com

Continuous integration with Jenkins CI

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

Development Effort & Duration

Delivering Quality Software with Continuous Integration

Snapt Redundancy Manual

Transcription:

ORACLe Oracle Press Hudson Continuous Integration in Practice Ed Burns and Winston Prakash Mc Graw Hill Education New York Chicago San Francisco Athens London Madrid Mexico City Milan New Delhi Singapore Sydney Toronto

Foreword Acknowledgments Introduction xi xiii xv PART I Essential Knowledge 1 Getting Started 3 Installing Hudson 4 Trying Hudson with the Easy Installation Method 5 Installing Hudson as a Windows Service 8 Installing Hudson to Start When a User Logs in to Mac OS X 10 Installing Hudson Within Tomcat 12 Installing Hudson on GNU/Linux 15 Basic Hudson Configuration 18 Your First Job: Back Everything Up 23 2 Hudson Precondition Primer 25 Hudson in the Software Development Lifecycle 26 Developer 27 Tester Manager Architect Release Engineer Example: Orchestration of Roles Around Hudson 29 Software Development as Marionette Theatre Production 30 Development Platforms 31 Software Configuration Management Builders 24 28 29 29 29 32 32 V

vi Hudson Continuous in Integration Practice Integrated Development Environments 39 39 Eclipse 43 Oracle jdeveloper 46 IntelliJ IDEA NetBeans Testing Tools 50 Soft Correctness Testing Tools 53 55 3 Basic Concepts 56 Intermediate Hudson Configuration Adding Source Code Management (SCM) to Your Jobs 56 Your Second Job: A Simple Java Program Your Third Job: A Simple Servlet 65 Using the Plugin Center 69 Your Fourth Job: Advanced Backup Options 75 Hudson Authentication Security 77 Adding Quality Assurance Systems 80 Build Notifiers 89 Configuring E-mail Server 89 Configuring the Job to Send Build Status Message 90 91 PART II Applying Hudson 4 Hudson as a Continuous Integration Server 95 What Is Continuous Integration? 96 Setting Up the CI Environment 97 Sherwood County Library 98 Sherwood Library Software Components 99 Source Code Management 103 Build Automation 107 Maven as an Automated Build Tool 107 Speeding Up the Build 108 Managing the Upstream-Downstream Jobs Complexity 115 Continuous Testing 118 Types of Tests 118 Viewing the Unit Test Results 119 Test Result Trends 120 Code Metrics and Code Coverage 122 48 54 59

Contents vii Continuous Feedback 123 Extended E-mail Notification 124 Continuous Delivery or Deployment 127 Deploying a Java Application to an Applications Server 128 Uploading Build Artifacts to Another Machine 129 Commands on a Remote Machine 131 Executing 133 5 Hudson and Automated Testing 135 Containing Code and Code Under Test 136 A Quick Tour of the Maven Build Lifecycle 138 Quick Code Jumpstart: Simple Servlet Testing 143 Automated Testing: Shields Up! 153 The Software Lineup 154 Who Writes the Tests? 156 Kinds of Tests 157 Unit and Component Testing with Arquillian in Hudson 159 Hudson Automated Testing Tips 164 166 6 Hudson as Part of Your Tool Suite 167 IDE Integration 168 Creating a New Hudson Job Directly from a NetBeans Project 171 Eclipse Hudson Integration 172 IntelliJ IDEA Hudson Integration 174 JDeveloper Hudson Integration 175 Hudson Issue Tracker Integration 178 Atlassian J IRA Integration 178 Bugzilla Integration 178 Other Issue Trackers 179 Browser and Desktop Integration 179 Browser Integration 179 Desktop Integration 181 Mobile Integration 184 Publishing Build Artifacts from Hudson 185 Artifact Repository 186 Deploy to Container 189 FTP Publisher Plugin..." 190 191

Vlii Hudson Continuous Integration in Practice 7 Distributed Building Using Hudson 193 Master-Slave Mode Hudson Slaves 195 ^7 Types of Slaves Adding a Slave Node to Hudson 198 Adding an Unmanaged Slave via JNLP Launcher 202 Adding an SSH-Based Managed Slave 206 Distributing the Builds 211 Managing Slaves 217 219 8 Basic Plugin Development 221 Writing a HelloWorld Plugin 222 Creating the Plugin Project 222 Creating a Service Hook 223 Building the Plugin 224 Testing the Plugin 225 HPITool 227 Creating a Skeleton Plugin Project 228 Building and Running the Plugin Project 229 Testing the Skeleton Plugin 230 Understanding the Hudson Plugin Framework 231 What Is an Extension Point? 231 Extending an Extension Point 232 Examining the Sample Extension 233 Modifying the Sample Extension 235 Extension Ul Configuration 238 Configuration File Conventions 239 Configuration Ul Rendering 241 Interaction Between Ul and Model 242 Ul Validation 244 Global Ul Configuration 246 ^4 248 PART III The Hudson Lifestyle 9 Advanced Plugin Development 251 Extending Various Aspects of Hudson Dashboards Creating a Custom Rendered Jobs Status View Using the Custom Rendered View Adding a Custom Column to the Default View 252 252 259 261

Contents IX Adding an Action to the Action Panel of the Main Dashboard 262 Custom Decoration of Hudson Pages 267 Extending Various Aspects of a Hudson Job 270 Adding a Custom Notifier to a Job 271 Adding a Custom Link to a Job Dashboard 275 Creating a Custom Build Wrapper 283 287 10 Hudson Best Practices 289 Manage the Hudson Resources Effectively 290 Tune Memory 290 Restrict Job History Depth 292 Monitor the Disk Space 296 Put Your Hudson Behind a Web Proxy 298 Do Not Use Your Hudson as a File Server 300 Periodically Back Up Your Hudson Contents 301 Set Up a Fail-Safe Mode for Your Hudson 306 Redundant Hudson Server Setup 307 Monitoring Hudson Setup 308 Server Switch on Failure 309 Redirecting HTTP Traffic to a Redundant Server 310 Scale Up the Security of Your Hudson 311 Restrict Job Access to Certain Users 311 Add Roles to the Authorization Matrix 313 Upgrade Your Hudson Diligently 315 Understand the Hudson Versioning Scheme 316 Upgrade in a Sandbox First 317 318 PART IV Appendixes A Widely Used Hudson Plugins 321 B Personal Hudson Instance 333 Hudson-as-Valet 334 Optimal Hudson-as-Valet Setup 335 Hudson for Work Area Maintenance 336 The Open-Source Liaison Role 336 The Committer Role 340 Hudson as General-Purpose Scheduler 342 Hudson Plot Plugin 342 344

X Hudson Continuous in Integration Practice C Hudson for Windows Developers Key Enablers for Using Hudson on Non-Java Platforms 346 Build 347 Step 347 Collect Results Step Hudson and the Windows Software Platform 349 Hudson and Automated Testing on Windows 352 352 345 Index 353