There's a whole discipline around what you are talking about, called
Configuration Management.  Larger organizations tend to have at least one
full-time person allocated to the software and processes that perform this
function.  In smaller shops it usually winds up falling on the developers,
which sounds like the situation you're in.

From a development perspective, a popular paradigm is Continuous
Integration.  Basically what this does is build and deploy every time a
developer completes a task (ie, check in code that's ready for
integration).  Automated builds will tell you if you broke the build bad at
this point; this strategy works great if you are using automated testing
(for example in test-driven development).  So, this takes care of your
integration environment (you DO have one, right?).

Next issue is deploying to QA and on to production.  The best practice in
this area is to not allow developer access to the machines where QA and
production code resides.  Again, there are tools that allow automated
packaging and deployment; these definitely exist for Subversion (SVN has a
whole hook model that lends itself to writing deployment scripts), and there
are whole suites that do this as well (see CruiseControl, IBM's Rational
suite, etc).

Barring the budget to buy a product that makes this easier (and the training
that goes with it), you probably need to start getting your hands dirty with
some scripting and use SVN's hooks.  I have only theoretical experience in
this area =).

Eric

On 6/29/07, Christopher Jordan <[EMAIL PROTECTED]> wrote:

Is anybody on the list using VSS for controlling their CF source? I'm
very new to source control, and am using SVN for the CFJS project with
some success, but I've only just scratched the surface I think with
that. However, for one of my client's they want to start using VSS.

Basically they want to protect production code by following a model like
this:

  Prd. Server                 VSS DB                Dev. Server
  ------------             ------------             -----------
| Production |           | Production |           |           |
|    Code    |-----------| and        |-----------| Work Area |
  ------------            | Development|           |           |
                          | Code       |            -----------
                           ------------

Where if a quick change is needed for production we check the code out
of the VSS into the "Work Area" (we still haven't decided where that
should be). We'll work on it there. Test it there and then check the
files back into the VSS database. But then we have to move the files we
just worked on and tested back into the production area.

That whole process just doesn't seem quite right to me.

I've been working with the Eclipse plug-in for VSS and I can see where
in our *development* environment we would keep our *development* source
files synced with the VSS DB. Every morning we'd (there are only two
developers on this project, btw) check out the appropriate files that
we'll be working on. Do our thing: code, test, fix, etc. and then when
we were happy that a feature was completed (or we were ready to go home
for the day) we'd check those files back into VSS. Then when we wanted
to move something to production we'd just get the latest copies from VSS
instead of copying over the local copies sitting in development.

However, sometimes the bosses here decide that they need a little tweak
in production, and production and development are so different that we
tend to work directly on the production files. That's what they really
want to stop. What we find a bit annoying is that we check out the
production source from VSS to a work area, do the tweaking or fix the
bug or whatever, check it back into VSS and then still we have to copy
the changed files back to the appropriate folders on the production
server in order for our changes to take effect.

What is the best way to handle these sorts of things? I think what we'd
like is to be able to checkout the production source files to some work
area, work our magic, check them back in and then maybe do something
like the Get Latest Copy so that in stead of us manually copying the
changed files from our work area where we just did our magic, we can run
a command that will get the updated source from VSS instead.

Am I making sense at all? Also, notice that while I'm using Eclipse with
CFE and the VSS plug-ins (along with a couple of others of course), the
other developer is not. He's using Home Site. I'm trying to swing him
over to using Eclipse, but he is really, really picky. And it doesn't
take much for a program to annoy him to the point where he'll stop using
it or at least where he'll complain all the time about having to use it.
He's also not a big fan of us using any type of source control, so the
easier I can make it, the better.

Any thoughts?

Thanks folks,
Chris

--
http://www.cjordan.us

_______________________________________________
Reply to DFWCFUG:
  [email protected]
Subscribe/Unsubscribe:
  http://lists1.safesecureweb.com/mailman/listinfo/list
List Archives:
    http://www.mail-archive.com/list%40list.dfwcfug.org/
  http://www.mail-archive.com/list%40dfwcfug.org/
DFWCFUG Sponsors:
  www.instantspot.com/
  www.teksystems.com/

_______________________________________________
Reply to DFWCFUG: 
  [email protected]
Subscribe/Unsubscribe: 
  http://lists1.safesecureweb.com/mailman/listinfo/list
List Archives: 
    http://www.mail-archive.com/list%40list.dfwcfug.org/             
  http://www.mail-archive.com/list%40dfwcfug.org/
DFWCFUG Sponsors: 
  www.instantspot.com/
  www.teksystems.com/

Reply via email to