Continuous Integration<br />Presented by Adi Sapir<br />
Who am I?<br />Adi –<br />Database TL @ PicScout<br />Author of SQL Stripes<br />http://about.me/adisapir<br />http://il.l...
Who is PicScout<br /><ul><li>Visual Search Engine
Everything around Image copyrights
Recently Acquired by Getty Images</li></li></ul><li>PicScout…<br />
PicScout…<br />Image Registry <br />Copyright Enforcements<br />
Our Development platforms<br /><ul><li>(Mostly) Microsoft-based
Team Foundation Server
SQL Server…</li></li></ul><li>Our Databases<br /><ul><li>Using SQL Server 2008
(& looking forward to next version)
Developing on Visual Studio 2010
Multiple production servers
Multiple geographical environment
Shared Components</li></li></ul><li>Problems we had<br />
Problems we had…<br />You find multiple database “clones” that, well, are not in top shape<br />
Problems we had…<br />Dev teams often worked against outdated database instances<br />
Problems we had…<br /><ul><li>Pre “DB-Dude”, there were a lot of compilation errors
Database/Project deployment was not possible</li></li></ul><li>The challenge<br /><ul><li>Compiled Databases
All Code against our databases is compatible with any changes we make
Provide a “Latest” database version for dev/stage/prod environments (for development & integration/unit tests)</li></li></...
Traditional methods:<br />Daily Build<br />Upon Check-in<br />
Before we begin<br /><ul><li>Solution & Projects must all exist on VS environment
Entire solution should be buildable & deployable (no errors what so ever)</li></li></ul><li>DEMO<br />
So…<br /><ul><li>We have our projects in Visual Studio
We know how to use MSBUILD
Upcoming SlideShare
Loading in …5
×

Continuous integration

395 views
363 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
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
395
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • We’re a visual search engine.We can perform quick, yet powerful image comparisonsWe crawl the web…
  • Match samples
  • &lt;Sometimes, the 1st step is only taking an existing database into a source-control solution, while not following guidelines &amp; recommendations&gt;
  • &lt;For example, sometimes you’d change an existing object for a certain feature, and without knowing, will break another app&gt;
  • Focus on:Compilation orderProject dependenciesReferences
  • 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 />

    ×