0
Continuous IntegrationBy Ike EllisThe Monastery@ike_elliswww.the-monastery.comBlog.the-monastery.comhttp://www.linkedin.co...
The Integration/Deployment Process• We do it when we feel like it– Non-repeatable– We don’t know what we do– We just work ...
Continuous Integration Means NoDeveloper Left BehindTimeMain TrunkNew Dev Working
When Integration Time Strikes• Longer Time = More Errors• More errors to solve, means more time to solve errors• Dev conti...
Shorten the Time• Less or no problems to solve• Deployment can always happen• Code on every workstation is in a build read...
CI Benefits• Avoids the “Works on My PC” syndrome• All developers can get their work deployed and not beleft behind• Tests...
Working with Legacy Code• First thing we do is deploy• Can we deploy• Is source control accurate?
CI Fundamentals• Source Control
Source Control Products• TFS• Subversion• Git• Mecurial• Perforce
CI Fundamentals• Build Steps = Automatically Build Stuff =Scripts• Build Triggers = What makes us build?• Build Agents = W...
CI Products• CruiseControl• JetBrains = TeamCity• MSBuild/TFS• RedGate CI for databases
CI Physical ArchitectureDev Environment UAT EnvironmentProductionEnvironmentCI CI
CI Process (An Example)• Step 1: Check in from source control• Step 2: Build Trigger begins a build, CI takesover• Step 3:...
CI Best Practices• Check-in several times a day• Merge changes at every check-in• Don’t break the build (Get latest, merge...
The Problem with Databases• Source Control/Versioning• Merging Changes• Tests• Change Management• Scripting Changes• Conti...
Red Gate Solves Those Problems• SQL Developer Bundle• Continuous Integration:– http://www.red-gate.com/products/sql-develo...
Demo• TeamCity• Red Gate CI/Team City Integration• Red Gate database source control
Ike Ellis• The Monastery• http://blog.the-monastery.com• http://www.the-monastery.com• YouTube• SQL Pass Book Readers• San...
Upcoming SlideShare
Loading in...5
×

Continuous integration for DBAs

542

Published on

This session teaches the basic concepts of Continuous Integration to an audience of DBAs. We cover what it is, how it works, what products and technologies are involved. We also show the challenges of CI for a SQL Database and how RedGate and TeamCity overcome those challenges.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
542
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
20
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Continuous integration for DBAs"

  1. 1. Continuous IntegrationBy Ike EllisThe Monastery@ike_elliswww.the-monastery.comBlog.the-monastery.comhttp://www.linkedin.com/in/ikeellis
  2. 2. The Integration/Deployment Process• We do it when we feel like it– Non-repeatable– We don’t know what we do– We just work until the bugs are gone…and thenwe go home• We do it daily• We do it on a schedule• We do it at every check-in to source control
  3. 3. Continuous Integration Means NoDeveloper Left BehindTimeMain TrunkNew Dev Working
  4. 4. When Integration Time Strikes• Longer Time = More Errors• More errors to solve, means more time to solve errors• Dev continues, prolonging error correcting time• Integration might never happen• $$$$$$$$$$$$$$$$TimeMain TrunkNew Dev Working
  5. 5. Shorten the Time• Less or no problems to solve• Deployment can always happen• Code on every workstation is in a build readyconditionMain TrunkNew Dev Working
  6. 6. CI Benefits• Avoids the “Works on My PC” syndrome• All developers can get their work deployed and not beleft behind• Tests can be run constantly, and breaking tests cangenerate emails, thus inspiring code confidence• Higher quality in code• Automatically build documentation, remove unneededfiles, include dependencies• Increased visibility of project• Deployment can be separate from developers• Easier to deploy dev environment to new developers
  7. 7. Working with Legacy Code• First thing we do is deploy• Can we deploy• Is source control accurate?
  8. 8. CI Fundamentals• Source Control
  9. 9. Source Control Products• TFS• Subversion• Git• Mecurial• Perforce
  10. 10. CI Fundamentals• Build Steps = Automatically Build Stuff =Scripts• Build Triggers = What makes us build?• Build Agents = What can we do in the CIprocess?• Build Notifications = Who gets told what andwhen?• Build Correction = What went wrong and whowill solve it?
  11. 11. CI Products• CruiseControl• JetBrains = TeamCity• MSBuild/TFS• RedGate CI for databases
  12. 12. CI Physical ArchitectureDev Environment UAT EnvironmentProductionEnvironmentCI CI
  13. 13. CI Process (An Example)• Step 1: Check in from source control• Step 2: Build Trigger begins a build, CI takesover• Step 3: CI builds the solution• Step 4: CI runs all the tests• Step 5: CI copies data to a UAT server• Step 6: CI notifies everyone a new build isready to test
  14. 14. CI Best Practices• Check-in several times a day• Merge changes at every check-in• Don’t break the build (Get latest, merge, build,check-in)• If you broke the build, tell everyone, so theycan stop getting latest from source control• Don’t check-in until the build is fixed• Notify everyone once the build is fixed
  15. 15. The Problem with Databases• Source Control/Versioning• Merging Changes• Tests• Change Management• Scripting Changes• Continuous Integration
  16. 16. Red Gate Solves Those Problems• SQL Developer Bundle• Continuous Integration:– http://www.red-gate.com/products/sql-development/automation-license-for-continuous-integration/• SQL Source Control– http://www.red-gate.com/products/sql-development/sql-source-control/webinars
  17. 17. Demo• TeamCity• Red Gate CI/Team City Integration• Red Gate database source control
  18. 18. Ike Ellis• The Monastery• http://blog.the-monastery.com• http://www.the-monastery.com• YouTube• SQL Pass Book Readers• San Diego Tech Immersion Group• @ike_ellis• 619.922.9801• Email address is just my first name @the-monastery.com.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×