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
.
- 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
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.
$ 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.
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.
$ BUILDBOT_URL="https://ci.apache.org" PORT=8000 MARTINI_ENV=development make run.local
As this project is build over martini
please consider setting this env variables
when deploy:
export PORT=3000
export MARTINI_ENV=production
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.