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.
Contents
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/
Link the current milestone
Create a link of the ~lpqateam/current-milestone file on qa-tagger's instance root:
$ ln -s /home/lpqateam/current-milestone current-milestone
Link qa-tagger logs
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