Build monitor for Go cd build server https://www.go.cd/
- Blue - Pipeline is building
- Green - Pipeline build passed
- Red - Pipeline has failed
- Yellow - Pipeline has been paused
- Orange - Pipeline build been cancelled
Open app-config.js and change the three lines
// Url for your go server
goServerUrl: 'https://ci.example.com',
// Go user to use for communication with go server
goUser: 'xxx',
// Password for go user
goPassword: 'xxx',
Open a terminal and enter
npm install
npm start
Go to http://localhost:3000
Enjoy :)
Building the image:
docker build -t gocd-monitor .
Using a GoCD server on your network
docker run -d --name gocd-monitor -p 3000:3000 \
-e GO_SERVER_URL=http://gocd.yourdomain.com:8153 \
-e GO_USER=xx \
-e GO_PASSWORD=xx \
gocd-monitor
Using a GoCD server running in docker
docker run -d --name gocd-monitor -p 3000:3000 \
-e GO_SERVER_URL=http://$(docker inspect --format='{{(index (index .NetworkSettings.IPAddress))}}' gocd-server):8153 \
-e GO_USER=xx \
-e GO_PASSWORD=xx \
gocd-monitor
Go to http://localhost:3000
Go to http://localhost:3000?admin
and click the settings button in the bottom-right corner to open the configuration dialog.
- Sort Order - Sort pipelines by status or latest build time
- Filter Pipelines - Disable/enable pipelines to retrieve from go server
To configure test reports, go to http://localhost:3000/test-results?admin
. Click the '+'-button and choose the pipeline you want to generate test reports for. The system then retrieves all test files and creates graph and possible error table for all tests found in that pipeline. For now only cucumber tests are supported. If defined, the system will switch between monitor and test report page every switchBetweenPagesInterval
seconds.
The server polls the go server every goPollingInterval
seconds. The results are then reported to the client using socket.io. The pipelines and its pause info are refreshed once every day.
To run the application in development mode, open a terminal and enter npm run dev-start
. The server and client will be rebuilt when a js or jsx-file changes.
To run tests, enter npm test
.
If the project has been installed with root user or by using sudo npm install
there might be problems with the postinstall
script since npm tries to downgrade its priviligies when running scripts. More information about this problem and how to fix it can be found here (hint, add the --unsafe-perm
flag when running npm install
)