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.

Continuous integration

452 views

Published on

A challenge that many of us face today – Performing a rapid development on SQL Server, while having the need to constantly integrate and test our code/schema against various apps/DALs. Continuous integration is one of the solutions available today for such challenge! We'll discuss the need, the benefits and the 'how-to' of performing a Continuous Integration and automatic deployment of the 'latest database' (schema/code).

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Continuous integration

  1. 1. Continuous Integration<br />Presented by Adi Sapir<br />
  2. 2. Who am I?<br />Adi –<br />Database TL @ PicScout<br />Author of SQL Stripes<br />http://about.me/adisapir<br />http://il.linkedin.com/in/adisapir<br />
  3. 3. Who is PicScout<br /><ul><li>Visual Search Engine
  4. 4. Everything around Image copyrights
  5. 5. Recently Acquired by Getty Images</li></li></ul><li>PicScout…<br />
  6. 6. PicScout…<br />Image Registry <br />Copyright Enforcements<br />
  7. 7. Our Development platforms<br /><ul><li>(Mostly) Microsoft-based
  8. 8. Team Foundation Server
  9. 9. SQL Server…</li></li></ul><li>Our Databases<br /><ul><li>Using SQL Server 2008
  10. 10. (& looking forward to next version)
  11. 11. Developing on Visual Studio 2010
  12. 12. Multiple production servers
  13. 13. Multiple geographical environment
  14. 14. Shared Components</li></li></ul><li>Problems we had<br />
  15. 15. Problems we had…<br />You find multiple database “clones” that, well, are not in top shape<br />
  16. 16. Problems we had…<br />Dev teams often worked against outdated database instances<br />
  17. 17. Problems we had…<br /><ul><li>Pre “DB-Dude”, there were a lot of compilation errors
  18. 18. Database/Project deployment was not possible</li></li></ul><li>The challenge<br /><ul><li>Compiled Databases
  19. 19. All Code against our databases is compatible with any changes we make
  20. 20. Provide a “Latest” database version for dev/stage/prod environments (for development & integration/unit tests)</li></li></ul><li>The idea behind Continuous integration<br />An approach which, instead of deploying everything together at the end of a milestone, continuously deploying all pieces of software as frequent as possible.<br />
  21. 21. Traditional methods:<br />Daily Build<br />Upon Check-in<br />
  22. 22. Before we begin<br /><ul><li>Solution & Projects must all exist on VS environment
  23. 23. Entire solution should be buildable & deployable (no errors what so ever)</li></li></ul><li>DEMO<br />
  24. 24. So…<br /><ul><li>We have our projects in Visual Studio
  25. 25. We know how to use MSBUILD
  26. 26. Now, we need to automate the process</li></li></ul><li>TeamCity<br /><ul><li>Triggers:
  27. 27. Schedule
  28. 28. Check-in
  29. 29. Can deploy multiple solutions from different braches on server</li></li></ul><li>Main Screen<br />Screenshots<br />Last Run’s Status<br />
  30. 30. Quick overview – latest runs<br />Screenshots<br />
  31. 31. Build Configuration<br />Screenshots<br />
  32. 32. TFS Configuration<br />Screenshots<br />
  33. 33. Execution…<br />Screenshots<br />
  34. 34. Q&A<br />
  35. 35. Good Luck!<br />adi.sapir@picscout.com >><br /><< http://www.linkedin.com/in/adisapir<br />

×