How do you install Drupal?

Steven Jones's picture

We're looking into beefing up our automated testing framework, and I'm wondering about how others are doing it. The main sticking point for us is how we actually install Drupal. I know that the guys have a database import, and then run updates against it, which is how you'd have to test an existing site, and I guess has simplified the problem, but does mean that they never visit install.php and actually do an install. This works for them because they only have one site. We use install profiles extensively for our sites, so we have a selenium test that visits /install.php and clicks all the right buttons, but it's a bit fragile.

I was just wondering what people's build process was in an automated environment, how do you install drupal?


This is a good question

joshk's picture

Building an automated testing framework around install.php is a good question. It should probably be a job for Drush, but I don't believe this support exists as of yet.

Drush's provision scripts can

smerrill's picture

Drush's provision scripts can do this, and this is how I have a Hudson environment set up to automatically install a client's custom install profile and then run SimpleTests and report back to Hudson.

Provision, of course! Have

Steven Jones's picture

Provision, of course! Have you got any code samples or a write up you could share?

I'm planning to write this up

smerrill's picture

I'm planning to write this up within a week.

Awesome, can't wait.

Steven Jones's picture

Awesome, can't wait.

It would be interesting to

ssilvius's picture

It would be interesting to see if an overall manager could be built swiftly with gearman (the c engine, not perl) for the whole stack, it would just make sense to add drupal install as well.

Base Drush Provision Command

smerrill's picture

The short of it: will create a new db user, a new database, update settings.php, and install Drupal. You can also add --profile=[] to the command if you want to install a different install profile than the standard one.

The aforementioned blog post is still on the way (it may well be a series now) but that's the guts of it.