Automatically updating websites from SVN
- From: Olav Vitters <olav bkor dhs org>
- To: gnome-infrastructure gnome org
- Subject: Automatically updating websites from SVN
- Date: Mon, 1 Jan 2007 23:29:58 +0100
[re-sending apologies for possible dupe]
Ross Golder made a new script for auto-updating websites from SVN. I've
enhanced it a little. Below describes partly how the script works,
status of converting websites to build from SVN, etc.
How the setup works:
1. The website module requires a post-commit hook that triggers a
timestamp to be updated
- This is done using procmail and $HOME/bin/set_buildflag.py under
gnomecvs (on window)
- See /svn/gnomeweb-wml/hooks/post-commit on socket
2. From cron, the following runs every 15 minutes:
$HOME/bin/update_sites.py -c $HOME/etc/website-triggers
- $HOME/etc/website-triggers contains the known SVN modules
- $HOME/bin/update_sites.py is the script that does all the work
3. $HOME/etc/website-triggers
- a .ini-style textfile containing information about the SVN modules
- things like URL, where the module will be checked out to, who to
mail when there are errors, etc
4. $HOME/bin/update_sites.py
- Uses the python24 module installed on window (instead of the
standard 2.2)
- Uses the website-triggers file to determine where to checkout a
module to (or update it)
- Assumes new modules can be checked out using the URL:
http://svm.gnome.org/svn/$MODULE/trunk
- Run the hook script $HOME/hooks/$MODULE (if it exists)
- If the hook script fails somehow (non-zero exitcode), the owner
will be informed via email (usually gnome-web-list gnome org)
5. Hook scripts
- These start with as working directory the checkout directory of the
module
Quick howto add another website:
1. Change the modules's post-commit hook (see gnomeweb-wml post-commit
hook)
2. Fill in $HOME/etc/website-triggers
3. Add a hook script if needed as $HOME/hooks/$MODULE
4. Setup apache config
Thoughts
I do not want one module touching any other module. Currently some
modules install things in www.gnome.org and developer.gnome.org. I'd
rather make them install the stuff in /usr/local/www/$MODULE and use
aliases for www.gnome.org and developer.gnome.org.
Hook scripts *currently* know the location of the website directory
(e.g. /usr/local/www/gnomeweb-wml). I'd rather define this in
$HOME/etc/website-triggers and make it available as a environment
variable. This to have all the configuration in one place. I'm planning
to do this later.
There is a lot of cruft in the current setup. Things that aren't hosted
anymore. Hook scripts that depend on files that aren't available in the
module, etc. I plan to clean this up later.
Python 2.2 annoyed me too much. I've installed the python24 rpm and
using that now ($HOME/bin/update_sites.py has #!/usr/bin/python24).
Websites that should build:
http://www.gnome.org/
http://developer.gnome.org/
http://www.gnome.org/gnome-office/ (gw-web module)
http://2005.guadec.org/ (and 2004, 2003)
http://www.gnomefr.org/
http://www.gnomebr.org/
http://foundation.gnome.org/
http://art.gnome.org/
http://glade.gnome.org/
http://www.gnome.org/projects/memprof/ (memprof module)
http://www.pygtk.org/
There could be modules I've missed.
Cruft:
wallpaper-web module: wallpaper.gnome.org doesn't exist
gnome-user-docs: relies on non-existing files + tries to change
www.gnome.org directly
gnome-devel-docs: relies on non-existing files + tries to change
www.gnome.org + developer.gnome.org directly
--
Regards,
Olav
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]