This post details getting Hudson to automatically poll a bitbucket mercurial repository and deploy the google app engine python hello world project.

Debian install

Just installed hudson on our Debian Lenny box using these useful aptitude instructions.

hg plugin

To get the plugin to install, go to the Hudson admin page, and manage plugins, then select available plugins. You should see ... nothing!

A careful reading of installing plugins hints that this is expected behaviour, since hitting this page starts the download and a restart is required to see the plugins.

In my case a reload of the page was sufficient and, then I had the long, long, list of plugins available.

Tick box, click install, see the above success screen.

Click button, restart hudson, ready to go.

Configuration

This required some playing about, I was trying to do as little as possible; as it turns out I haven't needed the jdk or any of the other config paths, just click create new job.

After entering the details of my bitbucket repo (and turning off private, have to figure out login), setting it to poll the repo, and figuring out an appropriate shell command, e.g.

/home/campey/google_appengine/appcfg.py update $WORKSPACE --email=dev.campey@gmail.com --passin < /home/campey/dev.campey.password

the build runs on save! And fails — red globe!

First run failed because I hadn't changed the app name. So back to app.yaml, edit, hg commit, wait, ... and blue globe!

Yay!

Next steps: getting the dev server to daemonize for local/grid testing.