Software Life Cycle: 4. Updating The Production Servers

From WormBaseWiki
Revision as of 17:58, 23 December 2010 by Tharris (talk | contribs) (Created page with '=Overview= = The Web App = ''Check out the code.'' cd /usr/local/wormbase/website // Anonymously checkout the code. You will not be able to commit back... hg clone http://b…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Overview

The Web App

Check out the code.

cd /usr/local/wormbase/website
// Anonymously checkout the code. You will not be able to commit back...
hg clone http://bitbucket.org/tharris/wormbase
mv wormbase development // or call it whatever you wish

Build dependencies.

cd development
mkdir extlib
cd extlib
perl -Mlocal::lib=./
eval $(perl -Mlocal::lib=./)
cd ../
perl Makefile.PL
make installdeps

Releasing a new build

New builds of the database are staged on wb-dev. Appropriate scripts are in the private wormbase-admin mercurial module.

Purge old builds

Purge a specific release from production nodes. This need to be run every release but is useful to periodically clear out old builds.

Remove build WSXXX, including acedb, mysql, and support DBs

wb-dev> admin/update/production/purge_old_releases.sh WSXXX

Remove build WSXXX from localhost (ie the dev server), including acedb, mysql, and support DBs

wb-dev> admin/update/production/purge_old_releases.sh WSXXX local

Push out Acedb

The Acedb data directory is kept in sync by cron:

wb-dev> cron_rsync_acedb.sh

Push out MySQL

Originally intended to be run as a cron job, it's less error prone to push databases out when they are ready to go.

wb-dev> cron_rsync_mysql_dbs.sh WSXXX

Deploy software (classic site)

Deploy software (new site)

Restart services