[melbourne-pug] continuous integration

Mike Dewhirst miked at dewhirst.com.au
Wed May 19 09:36:29 CEST 2010


On 19/05/2010 4:40pm, James Alford wrote:
> Java seems to be a mentioned a lot in a negative sense when it comes
> to hudson and I'm not sure why this should be an issue.
>
> Is buildbot for python only? I actually have a number of projects
> using a mix of php/python and php/java.

Buildbot will build whatever you tell it to build. It is just that the 
configuration is done in Python. Here is a sample ...

from buildbot.buildslave import BuildSlave
from buildbot.changes.pb import PBChangeSource
from buildbot.scheduler import Scheduler
from buildbot.process import factory
from buildbot.steps.source import SVN
from buildbot.steps.shell import Compile, ShellCommand

def linuxPythonBuilder(pyver, platform=None):

     f = factory.BuildFactory()

     f.addStep(ShellCommand, command=["rm", "-rf", src_root],
                description="removing source site",
                descriptionDone="old source site removed")

... and so on. You just add steps to do anything in the sequence you 
want. Essentially I only studied the docs to see what I needed for my 
own purposes and I only use the ShellCommand - even to run my tests ...

     f.addStep(ShellCommand,
                command=["/usr/bin/python", apptests],
                description="execute %s tests" % appname,
                descriptionDone="%s tested" % appname,)

     return f

... and which show up red on the webpage if they fail with a link to the 
actual collected test results.

I only said "And it isn't Java" because I'm totally narrow-minded and 
parochial rather than negative. If I had to learn Java I would do so but 
I'd have to swap something out to make room for it :)

Mike

>
> On Tue, May 18, 2010 at 10:39 AM, Mike Dewhirst<miked at dewhirst.com.au>  wrote:
>> On 18/05/2010 10:07am, James Alford wrote:
>>>
>>> Hi All
>>>
>>> I went to a very good phpmelb user group talk last night on continuous
>>> integration by Andrew Edwards. Â The one particularly good point was
>>> that using a tool like Hudson makes it easy to view the results of a
>>> test and build, and the contributions of the developers over time.
>>>
>>> Is anyone using Hudson http://hudson-ci.org (or similar), what are
>>> your thoughts on it?
>>
>> Not Hudson but maybe similar. Buildbot continuous integration rocks
>> especially for a solo operator. It is almost like having a pair-programmer
>> beside you. I use subversion hooks to trigger a build on every commit but
>> you could send a message to trigger it. It runs on a single VM provided you
>> control the DNS for the master and as many slave builders as you need.
>>
>> The buildbot config is all Python and that lets me see the result of as many
>> steps as I like on the display website. If something goes wrong I can drill
>> down and see the actual stdout that step produced. It goes a long way to
>> pinpointing introduced problems. The Python language itself is continuously
>> built and results displayed via buildbot.
>>
>> http://www.python.org/dev/buildbot/trunk/
>>
>> Buildbot will do anything you can do in Python or in a shell. And it isn't
>> Java.
>>
>> Mike
>>
>>>
>>>
>>> James
>>> _______________________________________________
>>> melbourne-pug mailing list
>>> melbourne-pug at python.org
>>> http://mail.python.org/mailman/listinfo/melbourne-pug
>>>
>>>
>>
>> _______________________________________________
>> melbourne-pug mailing list
>> melbourne-pug at python.org
>> http://mail.python.org/mailman/listinfo/melbourne-pug
>>
> _______________________________________________
> melbourne-pug mailing list
> melbourne-pug at python.org
> http://mail.python.org/mailman/listinfo/melbourne-pug



More information about the melbourne-pug mailing list