GithubHelp home page GithubHelp logo

monart

Build Status CircleCI

Build Monitor for Go CD.

Loosely based on the idea of Informative Art.

Tested in Chrome and Chromium (works in Firefox, too, but has some layouting quirks).

Keith Haring style

Figures with dotted borders show activity of stages in the current/latest pipeline run, all others represent the history of runs. Colors and types of figures represent failed and passing builds, background color indicates status of latest pipeline run (passed, failed or currently building).

All passing

Failure

Building

Need more details?

Click the view to toggle through two different info modes.

Info modes

What else?

Has a few little surprises in stock, like using the grid as a bingo board, or keeping track of a green streak.

##SETUP PROJECT

npm install

Run tests

npm test

Configure access to your Go CD server (see below)

Start server

node server

Local application URL

http://localhost:5000/haring/?pipeline=name-of-pipeline-to-display

##Configure and host yourself Create file config.yml in the root of the project and configure as described below.

###Access to Go CD

default:
  gocd:
    url: https://the-go-host:8154
    user: xxx
    password: xxxx
    timeDiff: -60    # (in minutes) if the Go server is in a different time zone than where monart server is running

###Filter the jobs to show from CC Tray activity By default, all jobs from CC Tray's activity feed will be displayed. You can restrict that by providing a list of jobs. The application will use the strings in that list to check if a job name STARTS WITH that.

default:
  gocd:
    ...
    jobs:
      - 'my-pipeline :: build'
      - 'my-pipeline :: integration-test'
      - 'my-pipeline :: deploy'

###Haring visualization

default:
  haring:
    dangerZones:
      - '17:50-23:00'
    acceptableTimeFailed: 30

'dangerZones' (optional) are time slots in 24-hour format. If you trigger a build at these times, you will get a visual indicator that maybe now is not a good time to build.

'acceptableTimeFailed' (optional, default is 30) is the number of minutes that is acceptable for a build to stay red. When that period is up, there will be a visual indicator that it is.

Run with SSL

You can run the monart server with SSL support. The server will look for these two files and use them if they exist:

monart-csr.pem
monart-key.pem

Here is one resource to help you get started with a self-signed certificate: https://nodejs.org/api/tls.html#tls_tls_ssl

...and then check it out at https://localhost:5000/haring/.

##Configure and run on Heroku For each value in the config file, you can create a respective Heroku variable so you won't have to push config.yml to the git repository.

Please note that you can access the deployed Heroku instance via HTTPS out of the box, you will not have to create your own certificate etc.

Step by step

  • Create a new application in Heroku and make a note of its Git repository address.
  • Install the Heroku Toolbelt.
# Clone monart
git clone https://github.com/birgitta410/monart.git

# Add your Heroku repository as a remote
cd monart
git remote add heroku [email protected]:your-repo-name.git

# Configure access
heroku config:set GOCD_URL=the-go-host:8153
heroku config:set GOCD_USER=xxx
heroku config:set GOCD_PASSWORD=xxx
heroku config:set GOCD_JOBS="my-pipeline :: build,my-pipeline :: integration-test,my-pipeline :: deploy"

# Configure haring settings (optional)
heroku config:set HARING_DANGERZONES="17:50-23:00"
heroku config:set HARING_ACCEPTABLETIMEFAILED="60"

# Deploy code
git push heroku master

artwise's Projects

artwise doesnโ€™t have any public repositories yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.