AMIR BARYLKO                    CONTINUOUS                    INTEGRATION                      WITH TEAMCITY              ...
WHO AM I?  • Quality         Expert  • Architect  • Developer  • Mentor  • Great      cook  • The     one who’s entertaini...
RESOURCES  • Email: amir@barylko.com  • Twitter: @abarylko  • Blog: http://orthocoders.com  • Materials: http://bit.ly/ort...
INTRO                     What is CI?                    Who needs CI?                    How to startAmir Barylko - CI   ...
WHAT IS CI?  • Development             methodology that aims to  • Automate            building process  • Verify         ...
WHY DO YOU NEED CI?  • Make      sure the build is not broken  • Catch      failing test sooner than later  • Generate    ...
HOW TO START  • Automate           your process/tasks with a script  • Install    a CI server (TeamCity, Jenkins, etc...) ...
USING TEAM CITY                           In a nutshell                      Architecture Overview                        ...
IN A NUTSHELL  • Build     automation and management server  • Team       communication  • Platform        agnostic  • Fre...
ARCHITECTURE OVERVIEWAmir Barylko - CI         MavenThought Inc.
SOURCE CONTROL  • Many      providers: Git, Hg, SVN, TFS, CVS, VSS, etc....  • Build     trigger rules to detect changes  ...
BUILD AGENTS  • Each     agent can run in a different system/environment  • Concurrent        build  • Real-time       res...
NOTIFICATIONS  • Rich     and friendly web interface  • Notifiers        using email, jabber, tray, etc...  • HTML        w...
DEMO                    Commons Project                         Build                          Test                      N...
SUMMARY                    Autonomous Build                        Iteration 0                       Success Tips         ...
AUTONOMOUS BUILD  • Build     with the minimum amount of tools  • Store      necessary tools with the projects (if possibl...
ITERATION 0  • Flush     out architecture.  • Setup Testing     harness for TDD and BDD.  • Setup      continuous integrat...
SUCCESS TIPS  • Commit           often (in your branch)  • Make      sure you run builds and tests before committing  • Fi...
NEXT STEPS  • Build     automatically per branch  • Let    your clients deploy  • Shelving        commits  • Discover     ...
QUESTIONS?Amir Barylko - CI                MavenThought Inc.
RESOURCES  • Email: amir@barylko.com  • Twitter: @abarylko  • Materials: http://bit.ly/orthoslidesAmir Barylko - CI       ...
RESOURCES IIAmir Barylko - CI                  MavenThought Inc.
SOFTWARE QUALITY                       WORKSHOP  • When: May        4, 10-11 & 16-17  • More       info: http://www.mavent...
Upcoming SlideShare
Loading in...5
×

Cpl12 continuous integration

263

Published on

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

  • Be the first to like this

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

No notes for slide

Cpl12 continuous integration

  1. 1. AMIR BARYLKO CONTINUOUS INTEGRATION WITH TEAMCITY CODE PALOUSA MARCH 2012Amir Barylko - CI MavenThought Inc.
  2. 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. 3. RESOURCES • Email: amir@barylko.com • Twitter: @abarylko • Blog: http://orthocoders.com • Materials: http://bit.ly/orthoslidesAmir Barylko - CI MavenThought Inc.
  4. 4. INTRO What is CI? Who needs CI? How to startAmir Barylko - CI MavenThought Inc.
  5. 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. 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. 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. 8. USING TEAM CITY In a nutshell Architecture Overview Source Control Build Agents NotificationsAmir Barylko - CI MavenThought Inc.
  9. 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. 10. ARCHITECTURE OVERVIEWAmir Barylko - CI MavenThought Inc.
  11. 11. SOURCE CONTROL • Many providers: Git, Hg, SVN, TFS, CVS, VSS, etc.... • Build trigger rules to detect changes • LabellingAmir Barylko - CI MavenThought Inc.
  12. 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. 13. NOTIFICATIONS • Rich and friendly web interface • Notifiers using email, jabber, tray, etc... • HTML widget statusAmir Barylko - CI MavenThought Inc.
  14. 14. DEMO Commons Project Build Test Nightly build Deploy ToolsAmir Barylko - CI MavenThought Inc.
  15. 15. SUMMARY Autonomous Build Iteration 0 Success Tips Next StepsAmir Barylko - CI MavenThought Inc.
  16. 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. 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. 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. 19. NEXT STEPS • Build automatically per branch • Let your clients deploy • Shelving commits • Discover static analysis toolsAmir Barylko - CI MavenThought Inc.
  20. 20. QUESTIONS?Amir Barylko - CI MavenThought Inc.
  21. 21. RESOURCES • Email: amir@barylko.com • Twitter: @abarylko • Materials: http://bit.ly/orthoslidesAmir Barylko - CI MavenThought Inc.
  22. 22. RESOURCES IIAmir Barylko - CI MavenThought Inc.
  23. 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.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×