Скачать презентацию CI with Cuise Control Net and Nant South Скачать презентацию CI with Cuise Control Net and Nant South

1a34cfef12f7515e58f2efe3c05d0d32.ppt

  • Количество слайдов: 12

CI with Cuise. Control. Net and Nant South Florida Enterprise and Strategy Architects Special CI with Cuise. Control. 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? “Continuous Integration is a software development practice where members of 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 Pair programming Planning Game Test Driven Development Whole team Continuous Integration 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 1. Developer checks out latest source code from repository. 2. Developer Continuous Integration Scenario 1. Developer checks out latest source code from repository. 2. Developer makes changes (hopefully with TDD). 3. Developer checks out latest source again to look for conflicts. 4. With conflicts resolved, developer checks in changes to repository. 5. CI system, detecting changes, checks out source code on an integration server. 6. CI system builds. 7. CI system runs automated tests. Demo: Alice

Is CI just another unpracticed trend? Who in the room does CI? Nant and Is CI just another unpracticed trend? Who in the room does CI? Nant and Cruise. Control. Net widely used.

Nant Overview Targets contain Tasks (think functions) Tasks perform actions Properties are variables Targets may have dependencies Demo: basic file usage

Important Nant Tasks Nunit Copy Mkdir, rmdir Foreach Zip, tar Functions exist as well 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

Cruise. Control. Net Overview Suite of apps for Continuous Integration: CCNet Server CCNet Web Cruise. Control. 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 Source control nant nunit fitnesse ccnet. exe fxcop coverage merge General CC. Net Flow Source control nant nunit fitnesse ccnet. exe fxcop coverage merge xsl xml result

Important CCNet Config Elements Source Control Tasks Publishers Triggers Nant Merge Email Demo: ccnet. Important CCNet Config Elements Source Control Tasks Publishers Triggers Nant Merge Email Demo: ccnet. config

More In-depth CI Working with Databases Distributed build scenarios Custom Nant tasks Custom Cruise. More In-depth CI Working with Databases Distributed build scenarios Custom Nant tasks Custom Cruise. Control. Net elements Demo: dashboard. config, ccnet. exe. config, javascriptlocalizer,

References Cruise. Control. Net: http: //confluence. public. thoughtworks. org/display/CCNET/Welcome+to+Cruise. Contro l. NET Nant: http: References Cruise. Control. Net: http: //confluence. public. thoughtworks. org/display/CCNET/Welcome+to+Cruise. Contro l. NET Nant: http: //nant. sourceforge. net/ Original CI article: http: //www. martinfowler. com/articles/continuous. Integration. html