A tool to measure software delivery performance by calculating the four DORA Metrics
- fill missing values in values.yaml
- run
helm upgrade --install devopsmetrics ./deployment/devopsmetrics/ --values ./deployment/devopsmetrics/values.yaml
chart includes influxDB instance + grafana dashboard
In default Configuration the API will be exposed: <host>:30303/api
Swagger Documentation: <host>:30303/swagger
Grafana instance: <host>:30304
- Open Grafana UI
<host>:30304
- Login with
admin
as username and password - change credentials if needed
- select Create (+) > import
- put id
16645
in the "import from grafana.com" field OR import via JSON - click load
- as datasource select "InfluxDB"
You should now see the Dashboard without data.
optional if the Repository is public and on the regular GitHub server
- Go to your account
settings > Developer settings > Personal acess tokens > Generate new token
- Expiration should be
no expiration
or a new token has to be created regularly repo
scope should be selected
- Go to the page of the repository that should be tracked
- Go to
Settings > Webhooks > Add webhook
- For Payload URL paste:
https://<your_host>/api/github-hook/
- For content type select
application/json
- For Secret paste your
API_KEY
that you set in your ENV-Vars - Select
Let me select individual events
- Check
Deployment statuses
,Issues
andPushes
Build: docker build . -t justusernst/devopsmetrics
Run: docker run --name devopsmetrics --env-file <your_env_file> -p <PORT>:8080 -d justus-e/devopsmetrics
var | description | example |
---|---|---|
PORT | optional - Port on which the API should be listening (default: 8080) | 8080 |
API_KEY | required - Authorization Key for this Api required to access all Endpoints | 'SoMeRand0MS3curE5trinG' |
INFLUX_URL | required - URL of the InfluxDB instance that should be used | 'http://localhost:8086' |
INFLUX_TOKEN | required - Token to access InfluxDB (can be generated in the InfluxDB UI) | 'AmfWLq5PbC_89NkpO[...]' |
INFLUX_ORG | required - Organization name of the InfluxDB instance | 'DevOpsMetrics' |
INFLUX_BUCKET | required - Name of the InfluxDB bucket where the events should be stored | 'events' |
GITHUB_URL | optional - GitHub URL of GitHub Server where the tracked Repo is stored (default: 'https://api.github.com') | 'https://api.github.com' |
GITHUB_USER | optional - Needed if Repository is private or on an Enterprise Server | 'justus-e' |
GITHUB_OAUTH | optional - Needed if Repository is private or on an Enterprise Server (can be generated in the GitHub UI) | 'ghp_bitz8n81coxxnYvZ[...]' |
TEST_MODE | optional - If set to true , the app will start in Test mode, operating on a separate randomly generated Dataset (default: false) |
true |
Run locally: npm run dev
Api Docs: http://<your_host>/swagger
Docker Image: https://hub.docker.com/r/justusernst/devopsmetrics
Grafana Dashboard: https://grafana.com/grafana/dashboards/16645