question

cblythe303 avatar image
cblythe303 asked

Tips on how to set up a development environment?

My group is exploring options to set up a formal dev/test/stage environment for our developers. We have several ideas but I was wondering if anyone knew of a resource that discussed the pros and cons of various solutions like local development instances, vs group source controlled instances etc. I have personal experience and opinions on the various options but was looking for something our whole group could review and have a conversation about. Thanks
developmenttestingbookspersonal-developmentpros-and-cons
10 |1200 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

· Write an Answer
Grant Fritchey avatar image
Grant Fritchey answered
It's actually getting kind of old, but I wrote several chapters for a book called [SQL Server Team Based Database Development][1] (free to download at the link). It covers quite a lot about setting up different environments, why you might need one of a certain type or another, etc. The tool examples, both Microsoft and Red Gate are VERY out of date, so it's not that useful in that regard. But the rest of the discussion is still applicable. I also [have a presentation][2] where I talk a lot about deployment best practices. Since development leads directly to deployment, many of the things there are probably applicable to what you're setting up. This is the tool free version of the presentation. If you want to also see the Red Gate tools in use, [we have a second presentation][3]. Personally, I'd strongly recommend you let the developers have sandbox environments. Whether that's just running stuff locally on their laptops, a designated VM on a laptop, or a VM or instance that you control, let them all break things to their hearts content, as fast as they can, without hurting others. Then, set up an integration environment where you bring their code back together for testing prior to sending it to QA/Test. I'd also suggest a continuous integration environment where you test all the code as it goes into source control. Oh, yeah, and source control the database code, just like the app code. [1]: https://www.simple-talk.com/books/sql-books/the-red-gate-guide-to-sql-server-team-based-development/ [2]: http://thefutureofdeployment.com/recording-of-grant-fritcheys-database-deployment-best-practices-webinar/ [3]: http://thefutureofdeployment.com/webinar-recording-how-to-automate-your-database-deployment-process-using-red-gate-deployment-manager/
2 comments
10 |1200 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sure thing. By the way, I'm advocating for these approaches independent from Red Gate. I don't care which tool set you use. I just think there are good ways to both speed development while still protecting production. Just so happens, Red Gate will get you there faster, but you don't need us to get the job done.
1 Like 1 ·
Thanks Grant, I downloaded that book about 2 minutes after I posted :) I will watch that presentation as well, we currently use some of the Red Gate tools but they haven't been fully integrated across the development group, something we are working on. Ideally I like the scenario you described but it is going to take us awhile to get there due to some organizational and monetary challenges so I am looking for ways to move us in that direction in steps. Thanks Again.
0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.