ci with cuisecontrol net and nant l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
CI with CuiseControl.Net and Nant PowerPoint Presentation
Download Presentation
CI with CuiseControl.Net and Nant

Loading in 2 Seconds...

play fullscreen
1 / 12

CI with CuiseControl.Net and Nant - PowerPoint PPT Presentation


  • 230 Views
  • Uploaded on

CI with CuiseControl.Net and Nant. South Florida Enterprise and Strategy Architects Special Interest Group (SF ESA SIG) June 19, 2007 Lawrence Port Otive LLC larry@otive.com. What is Continuous Integration?.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'CI with CuiseControl.Net and Nant' - ledell


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
ci with cuisecontrol net and nant

CI with CuiseControl.Net and Nant

South Florida Enterprise and Strategy Architects Special Interest Group (SF ESA SIG)

June 19, 2007

Lawrence Port

Otive LLC

larry@otive.com

what is continuous integration
What is Continuous Integration?
  • “Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.” –Martin Fowler
an xp technique
An XP technique
  • Pair programming
  • Planning Game
  • Test Driven Development
  • Whole team
  • Continuous Integration
  • Design Improvement
  • Small Releases
  • Coding Standards
  • Collective Code Ownership
  • Simple Design
  • System Metaphor
  • Sustainable Pace
continuous integration scenario
Continuous Integration Scenario
  • Developer checks out latest source code from repository.
  • Developer makes changes (hopefully with TDD).
  • Developer checks out latest source again to look for conflicts.
  • With conflicts resolved, developer checks in changes to repository.
  • CI system, detecting changes, checks out source code on an integration server.
  • CI system builds.
  • CI system runs automated tests.

Demo: Alice

is ci just another unpracticed trend
Is CI just another unpracticed trend?
  • Who in the room does CI?
  • Nant and CruiseControl.Net widely used.
nant overview
Nant Overview
  • Targets contain Tasks (think functions)
  • Tasks perform actions

<targetname="config">

<propertyname="build.dir" value="CruiseControlDemoProject\bin\Debug"/>

</target>

<targetname="clean" depends="config">

<deletedir="${build.dir}"/>

<mkdirdir="${build.dir}"/>

</target>

Properties are variables

Targets may have dependencies

Demo: basic file usage

important nant tasks
Important Nant Tasks
  • Nunit
  • Copy
  • Mkdir, rmdir
  • Foreach
  • Zip, tar
  • Functions exist as well
  • Also: ability to pass in parameters at command line

Show: Nant documentation

cruisecontrol net overview
CruiseControl.Net Overview
  • Suite of apps for Continuous Integration:
    • CCNet Server
    • CCNet Web Dashboard
    • CCNet Tray
  • Allows reporting via XSL.

Demo: Start server, show web dash

general cc net flow
General CC.Net Flow

ccnet.exe

Source control

nant

nunit

fitnesse

fxcop

coverage

merge

xml result

xsl

important ccnet config elements
Important CCNetConfig Elements
  • Source Control
  • Tasks
  • Publishers
  • Triggers
  • Nant
  • Merge
  • Email

Demo: ccnet.config

more in depth ci
More In-depth CI
  • Working with Databases
  • Distributed build scenarios
  • Custom Nant tasks
  • Custom CruiseControl.Net elements

Demo: dashboard.config, ccnet.exe.config, javascriptlocalizer,

references
References
  • CruiseControl.Net: http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET
  • Nant: http://nant.sourceforge.net/
  • Original CI article: http://www.martinfowler.com/articles/continuousIntegration.html