[kforge-dev] auto update and deploy of KForge for testing purposes now running
Rufus Pollock
rufus.pollock at okfn.org
Thu Apr 20 09:34:08 UTC 2006
Over the weekend I created a test installation of KForge that updates
nightly to the latest code in trunk, rebuilds, deploys, run tests and
restarts the web server. After a bit of tweaking over the last few days
(primarily to do with permissions on the host machine) it now seems to
be fully functional. The install is available at:
http://test.kforgeproject.com/
Since it is a test install running unstable code and requiring the web
server to be stopped and started (so that database can be rebuilt) it is
**not** running on the production server but on a 'domestic' machine.
Details of the script are below for anyone else who is interested.
Finally I am happy to note that all tests were passing direct out of svn
(though today in core tests i was getting logging errors of the form:
kforge [ERROR] There was an error importing plugin package
'kforge.core.plugin.example': No module named example.)
Regards,
Rufus
auto-deploy
===========
After a bit of tweaking of kforge-integrationtest-loader I was able to
reuse this for the deploy script unchanged except for a few changes in
__main__:
{{{
if __name__ == '__main__':
basePath = '/home/kforge/test.kforgeproject.com'
instancePath = os.path.join(basePath, 'instance')
domainName = 'test.kforgeproject.com'
argv = ['<name-of-this-script>', '--base', basePath,
'--domain-name', domainName ]
# we need to stop the web server or we won't be able to delete the db
os.system('sudo /etc/init.d/apache2 stop')
cmd = 'sudo /bin/chown -R kforge:kforge %s' % instancePath
if os.system(cmd):
_print('Command [%s] failed' % cmd, True)
status = main(argv)
cmd = 'sudo /bin/chown -R www-data:www-data %s' % instancePath
if os.system(cmd):
_print('Command [%s] failed' % cmd, True)
os.system('sudo /etc/init.d/apache2 restart')
if status:
sys.exit(1)
}}}
More information about the kforge-dev
mailing list