My wife is a graphic designer who is starting her own business in the field of designing templates for wordpress other php based systems. I'm going to setup the servers (VMware with CentOS) so she has a good spot for development and showing the customers the progress.

At large companies you would set up a DTAP (Develop, Test, Acceptance, Production) environment with automated builds, testing, deployment, etc. I'm aiming much lower than that but I still want to have some of the benefits of a DTAP setup.

What I have in mind is a Develop (her editing corner), Acceptance (publicly available behind password for customers) and Production (simply export to ZIP file or upload to external production site). I want version control (SVN/GIT/HG) and preferably automated deployment of a specific tag she creates to the acceptance environment so the customer can see the progress.

I'm lazy so I'm looking for a ready-to-run tool or toolchain that I can download from somewhere that does (most of) this at a minimal effort from me? Or is this something that no one has created before and I have to code this from scratch using existing tools?

Any suggestions are welcome.

  • Don't know of any ready-to-run toolchains, but I'll add to your list of requirements: You need to make 1000% certain that Dev, Test & Production are running the same versions of everything. Best way to do that is probably some kind of deployment management tool (radmind, puppet, etc.) – voretaq7 Feb 8 '10 at 22:10
  • Good point, but given the scale of this business I expect this not to be an issue. What I have in mind is a single machine for both Dev and Acceptance (production is assumed to be external) behind different URLs and the acceptance to be 'hidden' for my wife. Also because she will be limiting to changing templates (i.e. simple PHP changes, HTML, CSS, images, etc.) I assume the resulting PHP code to remain as portable as the original thing we started with. – Niels Basjes Feb 8 '10 at 22:20
  • 1
    This only becomes an issue when you upgrade (f/i) Wordpress in dev, forget to upgrade production & deploy something that needs a new feature. Most of the time you're fine, but if/when it bites you it hurts :-( Also never underestimate the importance of testing upgrades with a copy of the production data (www.wilwheaton.net for a nice cautionary tale :) – voretaq7 Feb 8 '10 at 22:27
  • I personally prefer to move anything that a client can access outside of my firewall. I just don't like the idea of them connecting to my network, since I can't really control just who a client allows to access data. So if this is a concern of yours, you might consider combining your Acceptance & Production servers into s single externally hosted account/VPS. – Joe Internet Feb 9 '10 at 0:46
  • Regarding the firewall/security: I have a DMZ running at home with "extranet" virtual machines. So I consider that base covered. – Niels Basjes Feb 9 '10 at 7:06

It really shouldnt be that hard to build a script that works for you with ANT or NANT. An off the shelf tool is probably not going to fit all of your needs and or your environment out of the box. The scripts wont likely be all the complicated and will fit into the various stages nicely.

Probably your biggest hurdle is in getting your designer comfortable with version control. At my shop this was a big issue. Designers want to move stuff around and have full control of there worksapce without being tied to the rigors of SVN.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.