[Buildbot-devel] Some good tutorials about running BB on a mac?

Fulvio Cervone fcervone at me.com
Mon Jan 17 19:17:17 UTC 2011


On Jan 14, 2011, at 3:36 PM, Mitch Jones wrote:
> 
> Hi Fulvio,


Hi Mitch,

> 
> This is pretty straight-forward.
> 
> For each slave, put something like the following in your master.cfg
> 
> BuildSlave('Your slave name', 'your_slave_password', max_builds=1, notify_on_missing="you at some.mail.com")
> 
> Of course, you'll want to change the name and password to whatever is appropriate for you.
> 
> When you create the builder, you'll give it the slave name that should handle it.

Awesome! looks pretty straight forward!


> 
>> -make a nicer waterfall page and replace the standard one.
> 
> I'd like this too, but I've never defined what it is I actually want to be better. The jinja template work that recent went in should help with this I believe but someone else will need to chime in to describe how to change this.

It looks like it requires some css work, plus some love for the formatting if a field is not included in the template; hopefully someone will come up with some instructions for "non-web-designers" engineers :) 

> 
>> -understand how to modify the emails (i would like to have a custom email when a build fail, so all the other teammates are aware of it, and in particular the person that broke the build)
> 
> I've got code that does this that is basically verbatim from the buildbot docs. Rather than duplicate that here, contact me off list if you can't find it.

I think that I've found it; following the instructions now so I can try and see if the formatting is in fact working.

> 
>> -my projects has dependencies (i have a custom framework that we write almost every day, and it is used to build or app), so I would like to know how to manage these dependencies, so if my custom framework fails I do not get failures in my build project (if is even possible)
> 
> One way to handle this would be through trigger build steps, where the a successful build in a parent would trigger the child dependency. In my case, I chose to incorporate my dependent libraries into one step since by themselves the components I'm building aren't interesting. When one fails during a build, the next step doesn't occur.
> 
> For my purposes, I threw together a simple XCode class that handles the xcodebuild build command, and here it is:
> 
> from buildbot.steps.shell import Compile
> 
> class Xcode(Compile):
>    def __init__(self, 
>    			target,
>    			configuration = "Release",
>    			projectFile = None,
>                **kwargs):
>        self.target = target
>        self.configuration = configuration
>        self.projectFile = projectFile
> 
>        # always upcall !
>        Compile.__init__(self, **kwargs)
>        self.addFactoryArguments(
>        	target = target,
>        	configuration = configuration,
>        	projectFile = projectFile
>        )
> 
>    def start(self):
>        command = ["xcodebuild"]
> 
>        if self.projectFile != None:
>        	command.append("-project")
>        	command.append(self.projectFile)
>        command.append("-target")
>        command.append(self.target)
>        command.append("-configuration")
>        command.append(self.configuration)
>        self.setCommand(command)
>        return Compile.start(self)    
> 
> Adding it to a builder is simply:
> 
> f = factory.BuildFactory()
> f.addStep(xcode.Xcode(name="My App", workdir=projectDir("/relative/path/to/app"), target="My Target"))
> 


Your approach is really interesting, I will give it a try!

Otherwise I was planning to have a masterscript in shell that will handle all the preliminary actions and return a value, so if it fails I can take countermeasures, and it will show up as one single step error on the waterfall page.

> 
>> I know that there is a lot here; but I am kinda lost, so after trying to read the documentation I've decided to ask to a wider audience :)
> 
> 
> Hope some of this helps.
> --
> Mitch Jones
> mitch at niftyneato.com
> 

Thanks for your reply, is a good start!

-Fulvio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20110117/8dd32aa3/attachment.html>


More information about the devel mailing list