A build light is rather a new (?) thing teams do to indicate their software build/test status. It has become very common in Agile teams. I did one for our project although not entirely Agile but it indicates the status of our builds being made in our in-house build server.
Read more about it in wikipedia: http://en.wikipedia.org/wiki/Build_light_indicator
I purchased the light from http://www.delcomproducts.com which sells them very expensive! A USB RGY LED light (http://www.delcomproducts.com/productdetails.asp?productnum=904007) costed me (our project) around 120 AUD to reach Sydney from US! Quite an expensive light!
If you are into electronics you should be able to make one easily I suppose. I am not really a hardware person and also have no time for it.
Anyway the light arrived quickly with no documents attached but everything can be found online. In Windows there is a command line application “USBCMDAP.exe” that can quickly turn it on:
USBCMDAP.exe 0 0 101 12 1 0 #green on
USBCMDAP.exe 0 0 101 12 2 0 #red on
USBCMDAP.exe 0 0 101 12 0 3 # all off
Now all you need to do is to read the status of your build/test/project/whatever and turn this on/off accordingly.
There are drivers for different OSes and hardware information in their website if you want to get more serious.
If you found a similar light but cheaper (together with software) then let me know!
Fabric is a Python module for system administrations. It can be considered a tiny Puppet. I needed to gather some info about remote servers, etc without installing an application and I was looking for a Python one that I found this. See more information on fabfile.org.
It is very nice for Python lovers as you can write your scripts in Python…
It is almost well documented but the problem I had with its HelloWorld was that it failed at the first run in Solaris which was annoying (see below why)
Anyway, These are the points I found the hard way. They either were not in the documentation or were deep hidden:
- By default run() method calls “bash -l -c” to execute commands. In Solaris there is no -l so you need to change this default by setting: env.shell = ‘/bin/bash -c’
- Default script file name should be fabfile.py and run it with the fab command.
- List of host names can be set in env.hosts=[…] as a list or passed in to a method using @hosts([…]) annotation
- Not sure if we can use a jumpbox (tunnel through) in version 1.4. It seems available on 1.5 that I haven’t installed yet. My requirement is for A to ssh to C where the connection is through B as A can only connect to B and B can ssh to C and A cannot directly ssh to C (A->B->C)
- fabric module depends on ssh and crypto modules to name a few.
- You hide execution and outputs by:
fabric.state.output[‘running’] = False
fabric.state.output[‘stdout’] = False
In 1.5 you can use hide() method. There is a bug on hide() in 1.4.
This is a great tool for creating html pages and presentations and is supported in many languages (I have played with Java and Python tools). This is a Python rst tool:
This is the actual content