Continuous Integration Introduction

15
Continuous Integration Continuous Integration Larry Cai Larry Cai [email protected] [email protected]

description

Continuous Integration

Transcript of Continuous Integration Introduction

Page 1: Continuous Integration Introduction

Continuous IntegrationContinuous Integration

Larry Cai Larry Cai [email protected]@gmail.com

Page 2: Continuous Integration Introduction

ProfileProfile

LarryLarry, an open source, collaboration & Agile evangelist, an open source, collaboration & Agile evangelist Software Practice PioneerSoftware Practice Pioneer to discover the best suitable to discover the best suitable

methods and tools to improve the efficiency of methods and tools to improve the efficiency of software developmentsoftware development

@larrycaiyu

[email protected]

Page 3: Continuous Integration Introduction

AgendaAgenda

Tools

Continuous Integration

Overview

Deployment

ContinuousDelivery

(Next step)

Page 4: Continuous Integration Introduction

Continuous integrationContinuous integration Continuous Integration is a software development Continuous Integration is a software development

practice where members of a team practice where members of a team integrate their integrate their work frequentlywork frequently, usually each person integrates , usually each person integrates at least daily - leading to multiple integrations per at least daily - leading to multiple integrations per day. Each integration is verified by an day. Each integration is verified by an automated automated build (including test)build (including test) to detect integration errors to detect integration errors as quickly as possible . as quickly as possible .

Basic automation in CIBasic automation in CI Compile, Unit level testing (code)Compile, Unit level testing (code) Acceptance Testing (verification)Acceptance Testing (verification) Feedback to develop teamFeedback to develop team

Ref: http://martinfowler.com/articles/continuousIntegration.html

Page 5: Continuous Integration Introduction

CI overviewCI overview

Source: http://www.javaworld.com/javaworld/jw-12-2008/images/CIOverview.jpg

Page 6: Continuous Integration Introduction

AgendaAgenda

Tools

Continuous Integration

Overview

Deployment

ContinuousDelivery

(Next step)

Page 7: Continuous Integration Introduction

CI server - Hudson vs. CI server - Hudson vs. JenkinsJenkins

Hudson is a de-facto CI Hudson is a de-facto CI standard used for lots standard used for lots of productsof products

Easy to start, configure Easy to start, configure and extending (300+ and extending (300+ plugins)plugins)

Easy to handle your Easy to handle your legacy systemlegacy system

Hudson 1.394 (sun + community)

Hudson (oracle)

Jenkins (community)

Since 2011

Page 8: Continuous Integration Introduction

Public TVPublic TV

Source: Extreme feedback http://wiki.hudson-ci.org/display/HUDSON/eXtreme+Feedback+Panel+Plugin

or Radiator View Plugin http://wiki.hudson-ci.org/display/HUDSON/Radiator+View+Plugin

Page 9: Continuous Integration Introduction

sonarsonar

Page 10: Continuous Integration Introduction

Nexus – java 3pp Nexus – java 3pp managementmanagement Maven repository Maven repository

manager acts as a manager acts as a proxy/cache between proxy/cache between you and the internetyou and the internet

Nexus is one of the Nexus is one of the popular tools (others popular tools (others are Artifactory, are Artifactory, Archiva) Archiva)

Page 11: Continuous Integration Introduction

AgendaAgenda

Tools

Continuous Integration

Overview

Deployment

ContinuousDelivery

(Next step)

Page 12: Continuous Integration Introduction

deploymentdeployment

YOUR PROBLEM ?

Page 13: Continuous Integration Introduction

Some tipsSome tips Start now from what you haveStart now from what you have Dedicated people (not resource) for 1-2 yearsDedicated people (not resource) for 1-2 years Decrease build time (machine first)Decrease build time (machine first) Transparency, VisibleTransparency, Visible Automate everything after code is checked-inAutomate everything after code is checked-in Step by step (could put goal to the team) Step by step (could put goal to the team) Continuous improvementContinuous improvement

Page 14: Continuous Integration Introduction

AgendaAgenda

Tools

Continuous Integration

Overview

Deployment

ContinuousDelivery

(Next step)

Page 15: Continuous Integration Introduction

Continuous deliveryContinuous delivery http://q.weibo.com/475225 http://q.weibo.com/475225