/buildbot-dashboard

buildbot dashboard optimised for central displays

Primary LanguageGoMIT LicenseMIT

buildbot-dashboard Join the chat at https://gitter.im/ghophp/buildbot-dashboard Build Status Coverage Status

If you have a CI/CD setup, it is really important to keep a central display and follow the builds and process going on the CI tool. This project aims to be the dashboard that will allow you to do present better results at a central display with buildbot.

Features

  • Non-reload monitoring
  • Enhanced UI with better visualization of the builders
  • Easy usage with single command
  • Filter options allow you to just show what matters
  • Save arrangement of the dashboard
  • Zoom compliant layout

Preview

Apache Board

As we use gridster and a structured style, if your buildbot has a lot of builders, you can take advantage of the browser zoom to reduce the size of the blocks and so, use more space to move your grid.

Apache Board Small

Running with Docker

$ docker run \
    -e "STATIC_PATH=/go/src/github.com/ghophp/buildbot-dashboard/static/" \
    -e "BUILDBOT_URL=https://ci.apache.org" \
    -e "PORT=8000" \
    -e "MARTINI_ENV=development" \
    -p 127.0.0.1:8000:8000/tcp ghophp/buildbot-dashboard

Or if you have clone/downloaded the repository you can run locally with:

$ make run.docker

This will build the image with the name ghophp/buildbot-dashboard and run it with the .env.example file if no .env file is present at the directory. To use other environment variables, please create a .env file next to the .env.example file.

Running from Binary

First you have to build the project for you current architecture:

$ make build.local
$ make build.linux.armv8
$ make build.linux.armv7
$ make build.linux
$ make build.osx
$ make build.windows

This will yield a binary into the bin folder, which can be executed, buildbot is the only required flag, you must provide the base url of the running builbot.

$ ./buildbot_dashboard -h
-buildbot string
	buildbot url eg. http://10.0.0.1/
-filter string
	regex applied over the builder name
-invalidate int
	cache invalidate in seconds (default and min 5 minutes) (default 10)
-refresh int
	refresh rate in seconds (default and min 20 seconds) (default 20)

How to use with runit.

Running with go run

$ BUILDBOT_URL="https://ci.apache.org" PORT=8000 MARTINI_ENV=development make run.local

Martini

As this project is build over martini please consider setting this env variables when deploy:

export PORT=3000
export MARTINI_ENV=production

Clean Cache

By default the project will cache the builders to avoid the delay of reloading it every time. If you insert a new builder or remove one, you can force the reload of the cache in the UI, there is a button on left side. This button will force the builders to be reloaded and the localStorage will also be cleaned.


Thanks to nbari and paw for helping and supporting open source.