Last Updated: 22 November 2021

Azure DevOps Build TV for Raspberry Pi

View the latest builds in real time from your Azure DevOps projects.

This project is a modernized resurrection of the original open source project by Orbit One. We've rewritten the service layer from scratch to use the latest Azure DevOps REST APIs for best performance, improved the styling, fixed some bugs, and migrated the whole thing to .Net Core. It can run as a Linux Docker container, including a pre-built ARM version that can be run on a Raspberry Pi in a matter of minutes.

Avatars for each build tile are retrived from Gravatar, falling back to the Azure DevOps profile if no Gravatar is available.

Supported Statuses

  • Grey: queued
  • Blue: in progress
  • Green: succeeded
  • Yellow: partially succeeded (usually due to failing tests)
  • Red: failed
  • Purple: stopped

Build tiles have links to additional information within Azure Dev Ops for swift assessment of the problem without losing valuable time. The ribbon over the top right hand corner shows the number of tests, and how many passed.

Azure DevOps Build Screen

How To Use

Use this command to run the app as a container. Note that there are two different URL variations for cloud Azure DevOps: 'yourazdo.visualstudio.com' or 'dev.azure.com/yourazdo'. Either of these are valid in the 'ServerUrl' parameter.


    docker run --name buildscreen -p 80:80 
        -e AzureDevOpsProvider:ServerUrl="https://yourazdo.visualstudio.com"
        -e AzureDevOpsProvider:AuthToken="yourauthtoken"
        -e AzureDevOpsProvider:ProjectCollection="projectcolletion"
        -e AzureDevOpsProvider:Projects="comma,delimited,list" 
        -e AzureDevOpsProvider:Organization="your-organization"
        parksq/buildscreen

Replace the ServerUrl, AuthToken, ProjectCollection and Projects (comma delimited list if more than one) values with those appropriate for your setup.

Raspberry Pi

The Docker image is compatible with ARM so can easily be run on any Raspberry Pi. Raspbian with Desktop is recommended. Once installed, you can make the device automatically update the Build Screen app to the latest version and launch it in a web browser. To do this, run the following commands:


    mkdir /home/pi/.config/autostart
    nano /home/pi/.config/autostart/buildscreen.desktop

Now paste the following contents into the new buildscreen.desktop file:


    [Desktop Entry]
    Type=Application
    Name=Buildscreen
    Exec=/home/pi/start.sh

Exit Nano by pressing CTRL + X and then Y to save the file. Enter the following command to create the script that will update and launch the app:


    touch /home/pi/start.sh
    sudo chmod +x /home/pi/start.sh
    nano /home/pi/start.sh

Paste the following into the new file, save again using CTRL + X then Y, and reboot the device. The Build Screen app should automatically download the latest container image and launch it in Chromium.


    #!/bin/bash

    sudo docker pull parksq/buildscreen

    sudo docker rm buildscreen

    sudo docker run -d --name buildscreen -p 80:80
    -e AzureDevOpsProvider:ServerUrl="https://yourazdo.visualstudio.com"
    -e AzureDevOpsProvider:AuthToken="yourauthtoken"
    -e AzureDevOpsProvider:ProjectCollection="projectcolletion"
    -e AzureDevOpsProvider:Projects="comma,delimited,list"
    -e AzureDevOpsProvider:Organization="your-organization"
    parksq/buildscreen

    /usr/bin/chromium-browser --no-sandbox --noerrdialogs --disable-infobars --start-fullscreen --disable-restore-session-state http://localhost &

If you want to automatically clean up any images before downloading the latest, add these lines before the 'docker pull' command.


    sudo docker stop $(sudo docker ps -a -q)
    sudo docker rm $(sudo docker ps -a -q)
    sudo docker system prune -a -f

If you or your organization requires assistance with your devops function, including build and deploy with on-premise TFS or Azure DevOps, don't hesitate to contact us.

GNU General Public License Version 3

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.