Buildviz Save

Transparency for your build pipeline's results and runtime

Project README

buildviz

Transparency for your build pipeline's results and runtime.

The most important things cannot be measured.

Your build pipeline can.

  • Anonymous

The What

Buildviz provides graphs detailing runtime behaviour, failures and stability of the pipeline, answering a multitude of questions in the hopes of improving your pipeline.

All it needs is your build history including test results.

Live example: https://buildviz.cburgmer.space/

Screenshot

Usage

$ curl -OL https://github.com/cburgmer/buildviz/releases/download/0.15.1/buildviz-0.15.1-standalone.jar
$ java -jar buildviz-0.15.1-standalone.jar

Now, buildviz takes in build data via POST to /builds. Some suggestions how to set it up:

Sync from supported build servers

Buildviz understands build data extracted by build-facts. Currently the following CI/CD systems are supported:

  • Concourse
  • GoCD
  • Jenkins
  • TeamCity

Example:

# After starting up Buildviz locally, do:
$ curl -LO https://github.com/cburgmer/build-facts/releases/download/0.5.4/build-facts-0.5.4-standalone.jar
$ java -jar build-facts-0.5.4-standalone.jar jenkins http://localhost:8080 --state state.json \
    | curl -v -H "Content-type: text/plain" -d@- 'http://localhost:3000/builds'

DIY

You can also roll your own. For every build POST JSON data to http://localhost:3000/builds/, for example:

{
  "jobName": "my job",
  "buildId": "42"
  "start": 1451449853542,
  "end": 1451449870555,
  "outcome": "pass",
  "inputs": [{
    "revision": "1eadcdd4d35f9a",
    "sourceId": "[email protected]:cburgmer/buildviz.git"
  }],
  "triggeredBy": [{
    "jobName": "Test",
    "buildId": "42"
  }],
  "testResults": [{
    "name": "Test Suite",
    "children": [{
      "classname": "some.class",
      "name": "A Test",
      "runtime": 2,
      "status": "pass"
    }]
  }]
}

The build's jobName, buildId, and start are required, all other values are optional. Buildviz follows this JSON schema.

JUnit XML (or JSON) formatted test results can be PUT to http://localhost:3000/builds/$JOB_NAME/$BUILD_ID/testresults

More

FAQ

You might also like:

  • Polaris, automated tracking of engineering excellence fitness metrics.
  • Metrik, calculates the four key metrics based on CI/CD build data.
  • Four Keys, measures the four key metrics.
  • HeartBeat, calculates delivery metrics from CI/CD build data, revision control and project planning tools.
  • Kuona project for IT Analytics, provides a dashboard on data from various sources.
  • Test Trend Analyzer, consumes test results for test trends.
  • TRT, consumes test results for test trends.
  • GoCD's analytics extension, collects and displays build metrics for GoCD.
  • pulse, support the continuous improvement of your engineering teams with data-driven insights.
  • Jellyfish, translate and maximize the business impact of engineering.
  • BuildPulse, automatically detects flaky tests.

Reach out to @cburgmer for feedback and ideas.

Open Source Agenda is not affiliated with "Buildviz" Project. README Source: cburgmer/buildviz

Open Source Agenda Badge

Open Source Agenda Rating