| 1 |
$Id: README.txt,v 1.9 2007/12/07 17:40:32 allisterbeharry Exp $ |
$Id: README.txt,v 1.10 2007/12/07 23:38:07 allisterbeharry Exp $ |
| 2 |
|
|
| 3 |
Drupal Automated Staging Toolkit README |
Drupal Automated Staging Toolkit README |
| 4 |
--------------------------------------- |
--------------------------------------- |
| 41 |
testing and staging scenarios. The goal of DAST is to provide a formal, |
testing and staging scenarios. The goal of DAST is to provide a formal, |
| 42 |
repeatable, reusable process using an existing build framework for 'building' a |
repeatable, reusable process using an existing build framework for 'building' a |
| 43 |
Drupal site using a formal build tool and build language. DAST is targeted at |
Drupal site using a formal build tool and build language. DAST is targeted at |
| 44 |
Drupal testers and developers who must repeatably |
Drupal testers and developers who must repeatably setup a Drupal site using |
| 45 |
setup a Drupal site using different configurations and code revisions for |
different configurations and code revisions for profile and module development |
| 46 |
profile and module development and testing, patch testing, and configuration |
and testing, patch testing,and configuration stability testing and benchmarking. |
| 47 |
stability testing and benchmarking. But DAST can also be used by Drupal |
But DAST can also be used by Drupal end-users - for example an installation |
| 48 |
end-users - for example an installation profile developer can bundle a DAST |
profile developer can bundle a DAST script with her profile so that the user of |
| 49 |
script with her profile so that the user of the profile can have her Drupal |
the profile can have her Drupal site setup and bootstrapped with a minimum of |
| 50 |
site setup and bootstrapped with a minimum of effort - this would be a lot |
effort - this would be a lot easier than the current manual and error-prone |
| 51 |
easier than the current manual and error-prone process of bringing up a Drupal |
process of bringing up a Drupal site from scratch before running the profile. |
|
site from scratch before running the profile. |
|
| 52 |
|
|
| 53 |
If you're tired of the download/untar/copy/drop/create database routine and you |
If you're tired of the download/untar/copy/drop/create database routine and you |
| 54 |
want to automate testing patches and modules then you're in the right place. If |
want to automate testing patches and modules then you're in the right place. If |
| 104 |
|
|
| 105 |
3. External tools - DAST and Phing build scripts may require the presence of |
3. External tools - DAST and Phing build scripts may require the presence of |
| 106 |
external command-line tools normally present on a development environment. DAST |
external command-line tools normally present on a development environment. DAST |
| 107 |
currently requires cvs, wget, and patch available on the command line. Windows |
currently requires cvs, wget, and patch available on the command line. |
| 108 |
users can download a version of wget for Windows at |
Windows users can download a version of wget for Windows at |
| 109 |
http://www.abeharry.info/stuff/dast-ext-tools/wget.exe. |
http://www.abeharry.info/stuff/dast-ext-tools/wget.exe. |
| 110 |
|
|
| 111 |
|
|
| 174 |
|
|
| 175 |
./bin/dast -f ...<myfile>.xml -D"propertiesFile=myprops.properties" |
./bin/dast -f ...<myfile>.xml -D"propertiesFile=myprops.properties" |
| 176 |
|
|
| 177 |
|
You can also use the -p parameter which indicates a project name. Projects |
| 178 |
|
are simply build files together with their properties files which reside in |
| 179 |
|
their own directory under the DAST_HOME/projects directory. If you have a |
| 180 |
|
myproject.xml build file and you put it in the directory |
| 181 |
|
DAST_HOME/projects/myproject together with myproject.properties and/or |
| 182 |
|
myproject-base.properties you can then run: |
| 183 |
|
|
| 184 |
|
./bin/dast -p myproject |
| 185 |
|
This is equivalent to |
| 186 |
|
./bin/dast -f ./projects/myproject -D"propertiesFile= |
| 187 |
|
./projects/myproject/myproject.properties" -D"basePropertiesFile= |
| 188 |
|
./projects/myproject/myproject-base.properties" |
| 189 |
|
|
| 190 |
The -D parameter is actually a general parameter that denotes properties you |
The -D parameter is actually a general parameter that denotes properties you |
| 191 |
wish to pass in to the build process. The 'propertiesFile' property denotes the |
wish to pass in to the build process. The 'propertiesFile' property denotes the |
| 192 |
location of the .properties file to load all the remaining properties to |
location of the .properties file to load all the remaining properties to |
| 226 |
directory is when you run the build command. If you want to use build files or |
directory is when you run the build command. If you want to use build files or |
| 227 |
property files or other files outside DAST_HOME, use a fully qualified name. |
property files or other files outside DAST_HOME, use a fully qualified name. |
| 228 |
|
|
|
|
|
| 229 |
3. Check the status of the build when the script completes - Phing logs |
3. Check the status of the build when the script completes - Phing logs |
| 230 |
extensive status information to the screen; check the results of each task in |
extensive status information to the screen; check the results of each task in |
| 231 |
the build to see if it completed successfully or if any errors were reported. |
the build to see if it completed successfully or if any errors were reported. |
| 233 |
(default /var/log/DAST or E:\var\log) so if you encounter any errors be sure to |
(default /var/log/DAST or E:\var\log) so if you encounter any errors be sure to |
| 234 |
check these logs. |
check these logs. |
| 235 |
|
|
| 236 |
4. Access your new Drupal site to complete the installation. The remaining |
4. That's it, you're done. You now have a complete working Drupal site for |
| 237 |
installation tasks for your new Drupal site can be accessed at |
development or testing or deployment. For the default profile you only have to |
| 238 |
${drupal.Url}install.php?profile=${drupal.profile}&locale=${drupal.locale} |
create the admin account next. Profiles like drupalorg_testing will do this |
| 239 |
where you will set the site-name, email, the first user account and so on. |
automatically. |
|
If the profile you are using already does this, like drupalorg_testing, |
|
|
then these will have already been set and the site will be ready to use |
|
|
immediately at ${drupal.Url}index.php. |
|
| 240 |
|
|
|
5. That's it, you're done. You now have a complete working Drupal site for |
|
|
development or testing or deployment. |
|
| 241 |
|
|
| 242 |
|
|
| 243 |
Command-line Args |
Command-line Args |
| 264 |
|
|
| 265 |
Colour codes |
Colour codes |
| 266 |
------------ |
------------ |
| 267 |
Under *nix the Phing ANSI logger is used which allows the use of colour-coded text messages. Phing builds always |
Under *nix the Phing ANSI logger is used which allows the use of colour-coded |
| 268 |
provide detailed logging to the screen as the build progresses; the following is a guide to the different |
text messages. Phing builds always provide detailed logging to the screen as the |
| 269 |
colours used in the screen log text: |
build progresses; the following is a guide to the different colours used in the |
| 270 |
|
screen log text: |
| 271 |
-Blue OK, informational messages echoed to the screen, also 'verbose' output |
-Blue OK, informational messages echoed to the screen, also 'verbose' output |
| 272 |
from task operations |
from task operations |
| 273 |
-Green OK, informational messages indicating which tasks are executing |
-Green OK, informational messages indicating which tasks are executing |
| 283 |
------------ |
------------ |
| 284 |
1. Under Windows certain versions of wget (my version at least - MINGWport) may |
1. Under Windows certain versions of wget (my version at least - MINGWport) may |
| 285 |
ignore any part of the Url after the ampersand even when escaped. |
ignore any part of the Url after the ampersand even when escaped. |
| 286 |
wget "http://localhost/drupal6/dev/dast/index.php?profile=default&locale=en" |
wget "http://localhost/drupal5/dev/dast/index.php?profile=default&locale=en" |
| 287 |
only fetches http://localhost/drupal6/dev/dast/index.php?profile=default This |
only fetches http://localhost/drupal5/dev/dast/index.php?profile=default This |
| 288 |
means that you still need to go through the 'Choose locale' part. This isn't how |
means that you still need to go through the 'Choose locale' part. This isn't how |
| 289 |
wget is supposed to behave (if the Url is quoted) so I have to confirm if this |
wget is supposed to behave (if the Url is quoted) so I have to confirm if this |
| 290 |
is just an eccentricity of the version I have on my system. |
is just an eccentricity of the version I have on my system. |
| 291 |
|
|
| 292 |
2. Task log files paths can't contain spaces all - if say you have DAST installed in e:\Drupal projects\dast then setting a tast log file to |
2. Task log files paths can't contain spaces all - if say you have DAST |
| 293 |
point at .\logs\dast-patch-install-wget.log won't work because the path will expand to e:\Drupal projects\dast. This doesn't apply to the |
installed in e:\Drupal projects\dast then setting a task log file to point at |
| 294 |
Phing log file which you set using the -logfile parameter. |
.\logs\dast-patch-install-wget.log won't work because the path will expand to |
| 295 |
|
e:\Drupal projects\dast. This doesn't apply to the Phing log file which you set |
| 296 |
|
using the -logfile parameter. |
| 297 |
|
|
| 298 |
|
3. If you use the create-files-dir task, which creates the files directory under |
| 299 |
|
drupal.dir and chmods it to 0777, the tasks works as expected but cleaning the |
| 300 |
|
site after will fail because the .htaccess Drupal drops in there is |
| 301 |
|
readonly and the build file will not be able to delete it. The default-site and |
| 302 |
|
do_testing-site projects come with a task call clean-files with which you can |
| 303 |
|
sudo run to remove the files directory cleanly before the main build so you |
| 304 |
|
could go |
| 305 |
|
sudo ./bin/dast -p default-site clean-files |
| 306 |
|
./bin/dast -p default-site |
| 307 |
|
The next version I will try to figure out a way to delete the .htaccess file |
| 308 |
|
(suggestions are welcome.) For many testing and dev scenarios you may not need |
| 309 |
|
to use the files directory though. |
| 310 |
|
|
| 311 |
Docs |
Docs |
| 312 |
---- |
---- |
| 313 |
1. The main documentation page is on Google Docs at http://docs.google.com/Doc?id=dcgv33zb_25d26w5n. |
1. The main documentation page is on Google Docs at http://docs.google.com/Doc?id=dcgv33zb_25d26w5n. |
| 314 |
2. See also the Phing user manual in DAST_HOME/phing/docs/phing_guide and also the Diving into Phing...series of |
2. See also the Phing user manual in DAST_HOME/phing/docs/phing_guide and also the Diving into Phing...series of |
| 315 |
articles in the SoC2007 group on the Drupal website - |
articles in the SoC2007 group on the Drupal website - |
| 316 |
http://groups.drupal.org/soc-2007 and the DAST wiki page |
http://groups.drupal.org/soc-2007 and the DAST wiki page @ |
| 317 |
@ http://groups.drupal.org/node/3913 |
http://groups.drupal.org/node/3913 |