Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Build pipelines with TeamCity

119 visualizaciones

Publicado el

TeamCity is a great tool for Continuous Integration with a lot of advanced features provided out-of-the-box. In this session, we will go through how TeamCity helps the software development with the daily routine; what was added to the product in the latest releases; and what features are coming next.

You will learn why build pipelines are useful, and how the CI server can be optimized when properly configured. I will also demonstrate how to configure the builds using the special Kotlin DSL provided with TeamCity.

Publicado en: Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Build pipelines with TeamCity

  1. 1. Build Pipelines with TeamCity
  2. 2. TeamCity @ JetBrains 2700+ projects 16000+ build configurations ~700 agents est 2006
  3. 3. TeamCity @ JetBrains
  4. 4. Checkout sources Compile Run tests Create report Send notifications Looks simple! Why do I need a “pipeline”?
  5. 5. How long does it take to run tests?
  6. 6. Checkout sources Compile Run tests Create report Send notifications
  7. 7. Checkout sources Compile Run fast tests Create report Send notifications
  8. 8. Run integration, performance, UI tests Pipeline!! Checkout sources Compile Run fast tests Create report Send notifications
  9. 9. Build Test Run integration, performance, UI tests Checkout sources Compile Run fast tests Create report Send notifications
  10. 10. Test Reporting & Notifications Build
  11. 11. UI tests Build Integration tests More tests Reporting & Notifications
  12. 12. Test Build Test Test Build Reporting & Notifications
  13. 13. Test Build Test Test Build Dependencies Reporting & Notifications
  14. 14. Build chains
  15. 15. Build 1 Build 2 Build 3 Build 4
  16. 16. Build 1 Build 2 Build 3 Build 4 “snapshot dependency”
  17. 17. rev 1 rev 2 rev 3 Build 1 Build 2 Build 3 Build 4
  18. 18. rev 1 rev 3 rev 3 Build 1 Build 2 Build 3 Build 4
  19. 19. rev 1 rev 3 rev 3 Build 1 Build 3 Build 2 Build 4
  20. 20. rev 1 rev 3 rev 3 Build 1 Build 3 Build 2 Build 4
  21. 21. Queue optimization
  22. 22. B rev1 A rev1 C rev1 D rev1 1 2 3 4 …
  23. 23. B rev1 A rev1 C rev1 D rev1 1 2 3 4 … B rev2
  24. 24. B rev1 A rev1 C rev1 D rev1 1 2 3 4 … B rev2
  25. 25. B rev2 A rev1 C rev1 D rev1 1 2 3 4 …
  26. 26. 6500 builds ~40% 3000 hours Daily savings:
  27. 27. Demo
  28. 28. 1. Create project 2. Enable Versioned Settings 3. Create build configurations in Kotlin DSL … 4. Profit!
  29. 29. Building dependent Maven projects https://medium.com/@antonarhipov/building-dependant-maven-projects-d2b71963827a
  30. 30. @antonarhipov anton.arhipov@jetbrains.com https://github.com/antonarhipov/pipeline

×