By bertomart on
Hi All. I've gotten my first serious Drupal project. I'm thinking of using Assembla for project tracking, repository, bugs, etc...
For servers, I'll be hosting with rackspace. I want to set up both a development and production machine. Should I be using two separate VPSes for these? (assuming I'm going with VPS for now). Also, how do you guys manage deployments; moving finished code to production. Is it: ( repository --> development )--------------> production (prod release each week for instance)? Can this process be automated?
Sorry, I've done quite a bit of development, but nothing this big, so I'd like to know what you guys think.
thanks in advance.
Comments
You should definitely have
You should definitely have production and development environment. I am not sure if you need another VPS for development. If you are working alone you can have development in your local network.
You can automate most of things. I wrote some scripts lately that create a development copy of website, make backups, ... Check Drush (http://drupal.org/project/drush). It is really helpfull for tasks like this.
There are several options for deployment, but I see those 2 most promising:
--
JAnez
I will work with a partner..
I'll be working with a partner on this one. We'll use git as our repository. We're planning to do development locally, but push to git, then to staging (a VPS for testing), then on to production. I've known about drush, but just for downloading/installing modules. I'll look into it more. Heard about features, but will need to look into it a bit more as well. Cheers.
No need for 2 VPS's. On my
No need for 2 VPS's. On my dev machine I run Virtualbox with a pretty much identical replica of what's running on my production VPS. In my case my VPS is an Ubuntu 10.04 box with 512MB of RAM. I simply setup a virtual machine in exactly the same way and develop on that. Using Virtualbox's shared folders mean that I can work on files locally on my machine and the virtual machine thinks they are local to it.
Plenty of docs out there on how to set all this up.
Thanks for the replies...I meant staging instead of development
Hi Guys,
Thanks for the replies. I know I said I wanted to do a development VPS, but I really meant to say a staging VPS. The Staging VPS will be the server the QA goes to test out the site to ensure the functionalities are being met; then code will be pushed to the production VPS. Development, I'll do on my local machine...maybe using Virtual Box as suggested.
So, I want to push from my local development machine to the git server (on Assembla), then from Assembla to Staging, then after testing is done...to Production. I'm setting it up right now based on responses so far. Thanks again.
The magic sauce
So, you want the answer that a lot of people are looking for.
Here's a brief discussion about it
http://groups.drupal.org/node/101939#comment-326049
This is a webinar where they talk about what you are trying to do
http://acquia.com/resources/acquia-tv/webinar/client-advisor-webinar-dru...
I personally live more in the server side/back end of the development process and I would recommend NOT hosting your staging and production environments on the same server.
You may also want to try and develop with features.
Additionally take a look at Acquia - its expensive but the support is fantastic.
=====
How I do it it
=====
My general workflow is
OR
"Just as diamonds are forever, Google Cache is too"
"If all else fails pray and hope to Dries it works"
"What in Dries' name were you thinking?"
Also
Make sure you sketch out the site workflow in detail so you know how everything is going to function
Document everything (What, why, how)
Features
http://drupal.org/project/features
"Just as diamonds are forever, Google Cache is too"
"If all else fails pray and hope to Dries it works"
"What in Dries' name were you thinking?"