AnthillPro
Achieving SDLC Best Practices with AnthillPro and CI
Chris Flanigan Neil McComb 05/14/2009
Anthill Achieving Best Practices
Best Practice
Triggered CI Build Automated Testing Test Coverage Code Analysis
Benefits
Reduces Risk Ensure Quality Ensure Quality Ensure Quality
Separation of Duties
Hashing Artifacts Managing Dependencies Process Automation
Reduces Risk
Reduces Risk Reduces Risk Increased Efficiency
CI Best Practice
Before Continuous Integration:
Numerous development changes over long period of time without SCM commit
Builds executed manually without a build/deploy/test/release tool Build often fails
Test scenarios often fail and not run often due to manual intervention
Dev Team must now find and fix the code Delays to the project schedules occur.
CI Best Practice
AnthillPro implementing Continuous Integration 1. Dev Team integrates source code changes continuously. 2. Dev Team receives quick feedback of build, test, and analysis results. 3. Since the changes were just made, the problems are much easier found and fixed. 4. Code base becomes stable, quality increased, and project risk decreases.
SCM Repository
4. Checkout Source 1. Integrate Code
Build Server
2. Trigger DEV Build
Developer
6. Notification minutes later: Results, Reports, Trending
Anthill Server
3. Build
5. Compile, UnitTest, TestCoverage, CodeAnalysis
AnthillPro Tool Integration
Action
Triggered Build
Tool
SCM Build JUnit NUnit Cobertura Emma FindBugs PMD CheckStyle Instant Feedback
Details
Harvest, CVSNT, Clearcase, Subversion Ant, NAnt, Maven http://junit.sourceforge.net/ http://sourceforge.net/projects/nunit http://cobertura.sourceforge.net http://emma.sourceforge.net/ http://findbugs.sourceforge.net http://pmd.sourceforge.net/ http://checkstyle.sourceforge.net/ Email IM
Unit Tests
Code Coverage
Bug Scan
Standards Scan Notification Scheme
* Bold items are Open Source tools used in this demo
Savings
Action Triggered Build Unit Tests Type Reduces Risk Ensure Quality Savings Increases Build Success Promotes Frequent Check-ins Fewer Production issues
Code Coverage Bug Scan
Standards Scan
Ensure Quality Ensure Quality
Ensure Quality
Fewer Production issues Fewer Production issues
Fewer Production issues Quicker failure turnaround
Notification Scheme Fast Feedback
AnthillPro and CI
Demo
AnthillPro Integrated Software
Repositories
Accurev CVS ClearCase Dimensions File System Harvest Integrity Maven Mercurial PVCS Perforce StarTeam Subversion Synergy TFS VSS Vault
Builders
Ant/NAnt Make Maven MSBuild
Defect Tracking
Bugzilla ClearQuest JIRA Maven PVCS Tracker Quality Center Rally TeamTrack Version One Team Foundation Server ViewVC VMWare Lab Manager
Automated Testing
Agitar CppUnit JUnit Mercury NUnit Selenium Silk Central Test Manager
Test Coverage
Clover Cobertura Emma
Tools not listed can still be executed and have their reports published by AnthillPro
http://www.anthillpro.com