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.

Build pipelines with TeamCity

394 views

Published on

Building CI pipelines with TeamCity

Published in: Software
  • Be the first to comment

  • Be the first to like this

Build pipelines with TeamCity

  1. 1. Build Pipelines with TeamCity @antonarhipov
  2. 2. What is a “build pipeline”?
  3. 3. Build pipeline Step 4Step 2 Step 3Step 1
  4. 4. Build pipeline Step 4Step 2 Step 3Step 1
  5. 5. Build pipeline Step 4Step 2 Step 3Step 1 Result
  6. 6. Build pipeline Step 4Step 2 Step 3Step 1 More steps Result
  7. 7. CI/CD pipeline AuditTest PackageCompile Test Build pipeline a.k.a CI pipeline TEST PRODDEV CD pipeline .rpm SW
  8. 8. Check out sources Compile Run tests Generate report Publish the results
  9. 9. Looks simple! Check out sources Compile Run tests Generate report Publish the results
  10. 10. Looks simple!Why do I need a “pipeline”? Check out sources Compile Run tests Generate report Publish the results
  11. 11. How long it takes to run the tests?
  12. 12. Check out sources Compile Run tests Generate report Publish the results
  13. 13. Check out sources Compile Run fast tests Generate report Publish the results
  14. 14. Check out sources Compile Run fast tests Generate report Publish the results Run integration, UI tests
  15. 15. Check out sources Compile Run fast tests Generate report Publish the results Run integration, UI tests Pipeline!!
  16. 16. Build Test Check out sources Compile Run fast tests Generate report Publish the results Run integration, UI tests
  17. 17. Test Reports & notifications Build
  18. 18. UI-testing Reports & notifications Build Integration testing More integration testing
  19. 19. Tests Reports & notifications Build Tests Tests Build
  20. 20. Tests Reports & notifications Build Tests Tests Build Dependencies
  21. 21. Tests Reports & notifications Build Tests Tests Build Dependencies
  22. 22. TeamCity @ JetBrains 1800+ projects 10000+ build configurations 500+ agents Average build time ~25 mins est 2006
  23. 23. TeamCity @ JetBrains
  24. 24. TeamCity @ JetBrains
  25. 25. Build chains
  26. 26. Build chains
  27. 27. Step 1 Step 2 Step 3 Step 4
  28. 28. Step 1 Step 2 Step 3 Step 4 rev 1 rev 2 rev 3
  29. 29. Step 1 Step 3 Step 4 rev 1 rev 3 rev 3 Step 2
  30. 30. Step 1 Step 3 Step 4 rev 1 rev 3 rev 3 Step 2
  31. 31. rev 1 rev 3 rev 3 Step 1 Step 3 Step 2 Step 4
  32. 32. rev 3 “snapshot dependency” Step 1 Step 3 Step 2 Step 4 rev 1 rev 3
  33. 33. rev 3 “snapshot dependency” Step 1 Step 3 Step 2 Step 4 rev 1 rev 3
  34. 34. Queue optimisation
  35. 35. B rev1 A rev1 C rev1 D rev1 1 2 3 4 …
  36. 36. B rev1 A rev1 C rev1 D rev1 1 2 3 4 … B rev2
  37. 37. B rev1 A rev1 C rev1 D rev1 1 2 3 4 … B rev2
  38. 38. B rev2 A rev1 C rev1 D rev1 1 2 3 4 …
  39. 39. ~7000 builds ~40%
  40. 40. Demo
  41. 41. @antonarhipov ?anton.arhipov@jetbrains.com

×