Whoops - sent too early
- Jenkins
- Ugly
- Java (I could probably stop there)
- Crappy client (requires fairly specific versions of Java files and has
flaky connection issues)
- Bad interface for custom build scripts
- Really made for testing Java web-apps
- Did I mention it's ugly and hard to navigate?
- Has some GitHub linkages - but it's definitely a bolt on
- Travis CI
- Works great if you're developing a server-side web-app, but that's
about it
- Can't run jobs on your own boxes
- Limited control over environment
- Not clear how easy/hard it would be to test MPI execution
- Cloudbees
- REALLY crappy client (modified Jenkins)
- Have to pay through the nose to be able to run the client on your own
boxes ($200/month + $5/build box to USE MY OWN DAMN MACHINES TO BUILD?!)
- Still Jenkins
- Atlassian Bamboo
- $800 to run _one_ build slave on my own hardware!? Are you serious?
- Bitten
- What we've been using for years
- Works great, but is tied to Trac.
- Has good handling of multiple configurations
- No GitHub integration (can be used with Git - but can't do anything
with Pull Requests)
- Has a good client that polls using http
- Kinda crappy XML interface for defining build recipes
I'm probably missing some that we looked at...
Here are the features of MooseBuild:
- Builds run on own hardware
- Written in python
- Uses modern technologies (Flask, SQLAlchemy, Jinja2)
- Simple client that polls using http
- Supports build pools (can have many machines that can pick up a job if
it's available)
- Native support for many environment configurations
- Build recipes are just plain and simple Bash scripts
- Can have dependencies between recipes
- Built to work directly with GitHub (listens for Pull Requests, reports
back to GitHub using the GH API for comments and CI status)
- No separate account (you sign in using GitHub)
Those are the highlights at least. I was blown away that nothing like this
has existed yet... even crazier is that GitHub itself should definitely
have a solution like this built in (I talked to one of the GitHub guys
about that at Supercomputing this year).
Anyway - it still has a ways to go but it's already pretty sweet (other
than looking like ass :-).
Derek
On Fri, Feb 21, 2014 at 9:33 PM, Derek Gaston <fried...@gmail.com> wrote:
> Clients poll (simply http requests on port 80). That was important to us
> for the same reason (and one of the reasons I don't like some of the other
> CI systems).
>
> Not just buildbot. Here's a list of systems we tried/looked at and their
> issues:
>
> - BuildBot
> - client in constant connection with server
> - One client per thing to do (no build pool)
> - Terrible handling of multiple configurations (if you want to compile
> the same thing on osx, linux, linux-clang, linux-intel, etc you have to
> create separate builders and the output is insane with hundreds of columns)
> - No ability to build pull-requests on GitHub
> - Jenkins
>
>
>
>
> On Fri, Feb 21, 2014 at 7:01 PM, Kirk, Benjamin (JSC-EG311) <
> benjamin.k...@nasa.gov> wrote:
>
>> I've got no issues - as for the clients, does the server communicate
>> out or wait to be polled? I ask because I've got some client resources,
>> but they are behind a firewall and can't just listen on a random port...
>> They could periodically poll out though.
>>
>> Looks interesting!
>>
>> I take it you've found buildbot lacking?
>>
>>
>>
>> On Feb 21, 2014, at 8:02 PM, "Derek Gaston" <fried...@gmail.com> wrote:
>>
>> I'll also make it run a "make check" - I forgot to mention that part.
>> We can expand from there later...
>>
>> On Friday, February 21, 2014, Derek Gaston <fried...@gmail.com> wrote:
>>
>>> All,
>>>
>>> I got pissed off at all other continuous integration capabilities so I
>>> wrote my own. It's currently hosted at moosebuild.com (you can go
>>> there, but please don't sign in yet because everything isn't finalized and
>>> I don't want you to lose anything you do on there - not too mention that
>>> all of the security stuff isn't completely turned on yet). Yes, it is
>>> currently ugly - I just haven't put any effort into making it not ugly yet
>>> ;-)
>>>
>>> Even though it's not finalized - it does work (I've got it hooked up
>>> to the MOOSE repo currently) and I would like to add the libMesh repo to it.
>>>
>>> The way it works is that when you put a Pull Request in on GitHub -
>>> GitHub will send a message to moosebuild.com that creates build jobs.
>>> Those jobs get picked up by worker clients (that can be running anywhere
>>> that can reach moosebuild.com) and then those clients run the build
>>> recipes (bash scripts that you create at moosebuild.com). The results
>>> get reported back to GitHub using the continuous integration API's that
>>> GitHub has.
>>>
>>> So - does anyone object to me using this to automatically test MOOSE
>>> against every pull request coming in to libMesh? It will create a bit more
>>> chatter on the pull request (some automated comments come out of the system
>>> as well that point you to the build results) but I think it's worth it (and
>>> we can refine that chatter over time).
>>>
>>> This is basically a first baby step toward opening up the system to a
>>> wider audience... I want to get some feedback and refine some stuff before
>>> I do that...
>>>
>>> Let me know what you think,
>>> Derek
>>>
>>
>>
>> --
>> Sent from my iPhone
>>
>>
>> ------------------------------------------------------------------------------
>> Managing the Performance of Cloud-Based Applications
>> Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
>> Read the Whitepaper.
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
>>
>> _______________________________________________
>> Libmesh-devel mailing list
>> Libmesh-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/libmesh-devel
>>
>>
>
------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel