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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Cpl12 continuous integration

246

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
246
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
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.

×