Your SlideShare is downloading. ×
Cpl12 continuous integration
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Cpl12 continuous integration

221
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
221
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. AMIR BARYLKO CONTINUOUS INTEGRATION WITH TEAMCITY CODE PALOUSA MARCH 2012Amir Barylko - CI MavenThought Inc.
  • 2. WHO AM I? • Quality Expert • Architect • Developer • Mentor • Great cook • The one who’s entertaining you for the next hour!Amir Barylko - CI MavenThought Inc.
  • 3. RESOURCES • Email: amir@barylko.com • Twitter: @abarylko • Blog: http://orthocoders.com • Materials: http://bit.ly/orthoslidesAmir Barylko - CI MavenThought Inc.
  • 4. INTRO What is CI? Who needs CI? How to startAmir Barylko - CI MavenThought Inc.
  • 5. WHAT IS CI? • Development methodology that aims to • Automate building process • Verify sanity of each build • Automate unit, integration and acceptance testing • Placeholder for other toolsAmir Barylko - CI MavenThought Inc.
  • 6. WHY DO YOU NEED CI? • Make sure the build is not broken • Catch failing test sooner than later • Generate nightly builds • Deploy automatically • Deploy with one click • Run extra tools (static analysis, code coverage, etc)Amir Barylko - CI MavenThought Inc.
  • 7. HOW TO START • Automate your process/tasks with a script • Install a CI server (TeamCity, Jenkins, etc...) • Create basic build and testing • Add visible notifications • Add deployment • Add other tools like static analysis, etc...Amir Barylko - CI MavenThought Inc.
  • 8. USING TEAM CITY In a nutshell Architecture Overview Source Control Build Agents NotificationsAmir Barylko - CI MavenThought Inc.
  • 9. IN A NUTSHELL • Build automation and management server • Team communication • Platform agnostic • Free professional version with 20 projects and 3 agentsAmir Barylko - CI MavenThought Inc.
  • 10. ARCHITECTURE OVERVIEWAmir Barylko - CI MavenThought Inc.
  • 11. SOURCE CONTROL • Many providers: Git, Hg, SVN, TFS, CVS, VSS, etc.... • Build trigger rules to detect changes • LabellingAmir Barylko - CI MavenThought Inc.
  • 12. BUILD AGENTS • Each agent can run in a different system/environment • Concurrent build • Real-time results • Dedicated agents for particular tasks (like slow tests)Amir Barylko - CI MavenThought Inc.
  • 13. NOTIFICATIONS • Rich and friendly web interface • Notifiers using email, jabber, tray, etc... • HTML widget statusAmir Barylko - CI MavenThought Inc.
  • 14. DEMO Commons Project Build Test Nightly build Deploy ToolsAmir Barylko - CI MavenThought Inc.
  • 15. SUMMARY Autonomous Build Iteration 0 Success Tips Next StepsAmir Barylko - CI MavenThought Inc.
  • 16. AUTONOMOUS BUILD • Build with the minimum amount of tools • Store necessary tools with the projects (if possible) • Avoid storing binaries libraries/assemblies in repository • Avoid storing artifacts that can be generatedAmir Barylko - CI MavenThought Inc.
  • 17. ITERATION 0 • Flush out architecture. • Setup Testing harness for TDD and BDD. • Setup continuous integration. • Setup scripts to build, deploy, etc. • Setup visual communication tools.Amir Barylko - CI MavenThought Inc.
  • 18. SUCCESS TIPS • Commit often (in your branch) • Make sure you run builds and tests before committing • Fix build failures immediately • Fail fast • Act on metrics • Build on every target environment • Create artifacts for every buildAmir Barylko - CI MavenThought Inc.
  • 19. NEXT STEPS • Build automatically per branch • Let your clients deploy • Shelving commits • Discover static analysis toolsAmir Barylko - CI MavenThought Inc.
  • 20. QUESTIONS?Amir Barylko - CI MavenThought Inc.
  • 21. RESOURCES • Email: amir@barylko.com • Twitter: @abarylko • Materials: http://bit.ly/orthoslidesAmir Barylko - CI MavenThought Inc.
  • 22. RESOURCES IIAmir Barylko - CI MavenThought Inc.
  • 23. SOFTWARE QUALITY WORKSHOP • When: May 4, 10-11 & 16-17 • More info: http://www.maventhought.com • Goal: Learn Kanban, BDD & TDD to improve the quality of your day to day job.Amir Barylko - CI MavenThought Inc.