measurementor helps you visualize data from your development cycle to help you be a better team. This code is used as an example data collection system in the book Agile Metrics In Action.
First note the vagrant file. That will call the puppet manifest that will install everything you need to get going. In a nutshell it installs:
- Elasticsearch : used for indexing data for searching
- Kibana : used for displaying pretty dashboards
- MongoDB : used to back the Grails based application
- GVM : used to install Groovy and Grails
- Groovy : because Groovy is fun
- Grals : to run the data collector
Once you run:
vagrant up
everything will get installed and you should have a box up and running. Check elasticsearch and kibana by navigating to the following URLs in your web browser of choice:
- local elasticsearch: http://localhost:9200
- local kibana: http://localhost:5601
To get the measurementor grails app running inside the vagrant box update the shared directory in your Vagrantfile on line 49. This will share the source code on your local box with the appropriate directory on the Vagrant box. Specifically, replace [DIRECTORY WHERE YOU DOWNLOADED THE CODE] with the path on your dev machine where you downloaded this code.
Measurementor has a number of configurable settings including the URLs and credentials of the source systems and system defaults. To update these variables you can just run the setup.sh script and it will prompt you to enter all the configurable values.
Get your vagrant box up and running:
vagrant up
ssh into the vagrant box you just set up:
vagrant ssh
Navigate to the directory that's shared with your dev machine for the measurementor grails app:
cd /measurementor
Run the app:
grails run-app
This is still a bit of a work in progress but feel free to let me know if there's anything that could be better.
- When Grails 3 comes out I need to update the app to take advantage of native gradle
- Need to install the data collector and start it up when everything else starts up
- Working on making the setup.sh do everything you need
- Need a data collector for github
- Write more unit tests
thanks!