597282fe58
I added a Procfile listing all the different python services treeherder needs. Heroku provides deployment-specific settings via environment variables, so I had to modify the settings file to listen to them where that wasn't the case. I created an enviroment variable IS_HEROKU which allows to have a heroku-only configuration where needed. The db service is provided by Amazon RDS, which requires a ssl connection. To enable ssl in the MySQLdb python client I had to modify Datasource (and bump up the version used). The cache service is provided by the memcachier heroku addon. Heroku recommends to use pylibmc, so I set it up according to the docs here https://devcenter.heroku.com/articles/memcachier#python. The amqp service is provided by the CloudAMQP addon. I added a post_compile script that runs every time we deploy. We should run every build step we require in there, like static asset minification, collection, etc. To share the oauth credentials among the various services I used an environment variable. I also added an option to export_project_credentials so that the credentials can be printed to stdout. This should come handy when we will need to update the environment-stored credentials with the ones in the db. |
||
---|---|---|
bin | ||
deployment | ||
docker | ||
docs | ||
puppet | ||
requirements | ||
schemas | ||
tests | ||
treeherder | ||
.coveragerc | ||
.dockerignore | ||
.gitignore | ||
.landscape.yaml | ||
.travis.yml | ||
Dockerfile | ||
LICENSE.txt | ||
Procfile | ||
README.md | ||
Vagrantfile | ||
fig.yml | ||
manage.py | ||
requirements.txt | ||
runtests.sh | ||
runtime.txt | ||
setup.cfg | ||
setup.py |
README.md
treeherder-service
Description
Treeherder is a reporting dashboard for Mozilla checkins. It allows users to see the results of automatic builds and their respective tests. Treeherder-service manages the etl layer for data ingestion, web services, and the data model behind Treeherder.
Treeherder is comprised of this repo for providing those back end services, and several other component repos:
- treeherder-ui for the front end UI.
- treeherder-node NodeJS interface for submitting data to Treeherder (a python interface is maintained inside this repository, see the documentation for more information)
Instances
Treeherder exists on two instances, stage for pre-deployment validation, and production for actual use.
Installation
The steps to install the treeherder-service are provided here.
Links
Visit our project tracking Wiki at:
https://wiki.mozilla.org/Auto-tools/Projects/Treeherder
Visit our readthedocs page for other setup and configuration at:
https://treeherder-service.readthedocs.org/en/latest/index.html
File any bugs you may encounter here.