QA/QATaggerSetup

Not logged in - Log In / Register

Revision 3 as of 2011-03-17 22:00:23

Clear message

QA-tagger setup

This page describes how to deploy new code to qa-tagger production instance, how and which cronjobs are configured, how to deploy and to QA new deployments.

QA-tagger deployment

To deploy a new version of qa-tagger on devpad, you have to follow these steps:

Generate a distributable package

cd devel/
make dist

This will download all dependencies and generate a tarball named "qatagger-r<current revno>.tgz".

Install on devpad

Copy the tarball over to ~lpqateam/qa-tagger/ on devpad, extract that, and run a make install.

tar xvf qatagger-r000.tgz
cd qatagger-r000
make install

Setup instance to run

To run properly, qa-tagger uses a set of files named last-revno-<project>-<branch>. They store the last processed revision for each project and branch. In order to "upgrade" qa-tagger, follow these steps:

Copy runtime files

Copy over all the last-revno-* files from the "current" instance to the folder of the new deployment.

$ cp /home/lpqateam/qa-tagger/current/last-revno-* /home/lpqateam/qa-tagger/qatagger-r000/

Create a link of the ~lpqateam/current-milestone file on qa-tagger's instance root:

$ ln -s /home/lpqateam/current-milestone current-milestone

Create a link of the logs on qa-tagger's instance root:

$ ln -s /home/lpqateam/public_html/qa_reports/logs logs

Current production version on devpad is a symlink called "current" pointing to the last version. To QA the new instance, create a new link "qa" pointing to the revision you just setup.

$ cd ~lpqateam/qa-tagger
$ rm -f qa
$ ln -s /home/lpqateam/qa-tagger/qatagger-r000 qa

Now you should edit ~lpqateam's crontab commenting the "current" line and uncommenting the "qa" one. The invoked script is tag-nator-o-matic.sh, which runs ./bin/tag-bugs to each project and branch.

Cronjobs

The only crontab job running is the one that triggers the script. There are two entries in the ~lpqateam crontab, one for the "qa" instance and another for a "current" instance. Only thing needed is to switch between them, never forgetting to copy over all the last-revno-* files from the last run to the instance that should be activated.

# qa bug tagging tool 
*/15 * * * * cd $HOME/qa-tagger/current && ./tag-nator-o-matic.sh
#*/15 * * * * cd $HOME/qa-tagger/qa && ./tag-nator-o-matic.sh