Codify The Build Light
I don't usually get to highlight projects that bring two parts of my live together, being a Microsoft ALM MVP and a cool Windows IoT project.
Seeing that this past week was also the Microsoft MVP Global Summit, it seems very appropriate to highlight these two projects...
First project is from Anthony Borton, Microsoft ALM MVP.
In this fourth and final blog post on the Codify VSTS build light, I’d like to share some finishing touches I have applied to the build light to make it more robust for demonstrations as well as a little more portable.
If you’ve not read my previous posts in this series you can find them here.
After completing the first three blog posts and taking the Codify VSTS build light to a few user groups to demonstrate, I realised I need a more durable case as well as a way to plug and unplug the lights and power for travel.
The stock cases I could find from the usual Raspberry Pi online stores didn’t really protect the Codify board so I went looking on Thingiverse to see if someone had a suitable design for a case that I could 3D print. I found a design by UltiArjan which was a remake of a design by 0110-M-P. The case looked promising so I did a remake of this case to suit the two wire terminal blocks on the Codify board and also added a thin cover over the micro USB port usually used to power the Raspberry Pi.
I then loaded up my 3D printer with purple filament (for Visual Studio of course) and went to work. The result is a custom fit case that can survive both office environments and travel for demonstrations.
Congratulations! You’re Codify VSTS Build Light is in its new home ready to give you the good or bad news about your latest builds.
What is this Codify VSTS Build Light thing?
The Internet of Things (IoT) is an emerging technology that aims to expand the internet from outside its software realms and into physical objects and devices. It’s the idea that physical places, goods and machines can be made intelligent by connecting them to the Internet.
Microsoft is a pioneer in this space. Windows 10 IoT opens the doors of IoT development to everyone who uses a mainstream operating system.
Microsoft commissioned Codify to build a custom solution for The Queensland Department of Education and Training in their Solution Development Centre (SDC). The team consisted of 8 developers, all embracing continuous integration with the project regularly generating 20 check-ins a day.
Time lapse of a day in the Microsoft Solution Development Center
In such an environment, it was important that the team were constantly aware of the build quality. Each member was required to continuously monitor the build manually, which was not always timely.
Codify took the liberty to build a Visual Studio Build Monitor. Using a Raspberry Pi 2 running the Windows 10 IoT Core, we were able to get a panel of LED lights to visually relay the quality of the build from Visual Studio; green for healthy, blue for compiling, red for broken and white for polling. This way, the whole team remained ambiently aware of the build status, shifting the burden of awareness from manually looking it up to being notified.
Lights of the Visual Studio Online Build Monitor revealing the build quality
One notable feature of Windows 10 IoT is the ease when accessing the Raspberry Pi’s GPIO pins, by simply using the Windows.Devices namespace to abstract and manage this component. While there were a few development bumps along the way, all in all Windows 10 provides impressive tools that allows developers to build powerful IoT solutions quickly and cheaply. See more great Windows 10 IoT projects on the Microsoft Dev Center.
build-light displays the status of a Visual Studio Online build and drives a better development process by visually indicating the build quality to your team in a simple way.
build-light is a Windows 10 Universal App designed to run on Windows 10 IoT Core, and with a little effort can be hooked up to an LED light strip making the ultimate [headless] build-light.
Read more on our blog.
So many colours
- Uh-oh, build is broken
- Build is good
- Build is in progress
- Build is unknown. Often seen when a build is queued but yet to be allocated to a build agent
- Build kinda worked [partially succeeded]
- Check the power? Maybe raise an issue.
Get your PC ready
You will need to follow these instructions to get you PC ready to compile build-light
Get Windows 10 IoT running
Not finished yet, get your RPi2 running Windows 10 IoT
Build and Deploy
Before you start, your RPi2 must be:
- On and at the Windows 10 IoT launcher
- Have an IP address
- Visible in WindowsIoTCoreWatcher
With this in place you are now ready to deploy build-light.
- Load the Codify.VisualStudioOnline.BuildLight.sln into Visual Studio 2015
- Change the build type to Release and platform to ARM
- Set the target to Remote Machine and specify the IP address of your RPi2
- Click Deploy
A little more effort
Coming soon - how to hook up an RGB LED light strip to build-light
All your exceptions belong to us
The app will send telemetry (device and status) and exceptions are sent to our own Azure Application Insights. This helps us help you :)
Opt-out by removing the code before you deploy.
Finally here's even more related posts from the ALM Visual Studio ALM Blog;
- A Raspberry Pi2 VSTS Build Light – Part 1, unwrapping the package
- A Raspberry Pi2 VSTS Build Light – Part 2, assembling and installing the software
- Raspberry Pi2 Codify Build Lighting up the Microsoft Vancouver