A system for managing CI data for Mozilla projects
Перейти к файлу
Mauro Doglio 597282fe58 Bug 1145606 - Setup treeherder to deploy on heroku
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.
2015-05-14 13:54:41 +01:00
bin Bug 1145606 - Setup treeherder to deploy on heroku 2015-05-14 13:54:41 +01:00
deployment Bug 1145606 - Setup treeherder to deploy on heroku 2015-05-14 13:54:41 +01:00
docker Bug 1133482 - Always ensure files are closed after being open()ed 2015-03-03 17:13:34 +00:00
docs Bug 1056049 - Add NFS transport protocol troubleshooting to RTD 2015-05-12 15:08:25 -04:00
puppet Bug 1159250 - Vagrant: Update virtualenv to v12.1.1 2015-04-28 23:46:05 +01:00
requirements Bug 1145606 - Setup treeherder to deploy on heroku 2015-05-14 13:54:41 +01:00
schemas Bug 1113281 - Add pulse messages when after cancel/retrigger r=maurodoglio 2015-02-19 13:49:11 -08:00
tests Bug 1163182 - refactor bug suggestions artifact generation 2015-05-12 11:12:52 -07:00
treeherder Bug 1145606 - Setup treeherder to deploy on heroku 2015-05-14 13:54:41 +01:00
.coveragerc added some test coverage exclusions 2013-04-30 14:37:49 -07:00
.dockerignore Bug 1134256 - Docker integration for testing r=wlach 2015-02-25 09:27:26 -08:00
.gitignore Bug 1066266 - Add some stage/prod specific files to gitignore 2015-02-13 18:38:46 +00:00
.landscape.yaml Bug 1155160 - Remove the now unused vendor directory 2015-04-22 11:23:39 +01:00
.travis.yml Bug 1143350 - Use peep instead of pip locally, on Travis & in Docker 2015-03-19 12:26:07 +00:00
Dockerfile Bug 1137164 - Docker: Use ./setup.py since current directory not on path 2015-03-19 13:17:52 +00:00
LICENSE.txt add license file 2013-06-07 13:51:52 -04:00
Procfile Bug 1145606 - Setup treeherder to deploy on heroku 2015-05-14 13:54:41 +01:00
README.md Bug 1164023 - Remove references to the decommissioned treeherder-dev 2015-05-13 09:55:16 +01:00
Vagrantfile Bug 1056877 - Update links & puppet/Vagrant config for new repo name 2015-04-20 22:00:04 +01:00
fig.yml Bug 1134256 - Docker integration for testing r=wlach 2015-02-25 09:27:26 -08:00
manage.py Bug 1090689 - Add MPL2.0 headers to the repo 2014-11-03 13:06:03 -05:00
requirements.txt Bug 1145606 - Setup treeherder to deploy on heroku 2015-05-14 13:54:41 +01:00
runtests.sh Bug 1139894 - Add flake8 to runtests.sh 2015-03-16 12:16:17 +00:00
runtime.txt Bug 1145606 - Setup treeherder to deploy on heroku 2015-05-14 13:54:41 +01:00
setup.cfg Bug 1155160 - Remove the now unused vendor directory 2015-04-22 11:23:39 +01:00
setup.py Bug 1137164 - Make setup.py executable 2015-03-19 13:52:06 +00:00

README.md

treeherder-service

Build Status Code Health

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.

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.