Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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

564 views

Published on

  • Hello there! Get Your Professional Job-Winning Resume Here! http://bit.ly/topresum
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

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.

×