canmove, Confirmed users
6,439
edits
No edit summary |
No edit summary |
||
Line 11: | Line 11: | ||
== Development == | == Development == | ||
When working on low or medium risk patches to the Buildbot Bridge it's easiest to write unit tests, get review, and then use the supported development environment for testing. For more major changes, it's better to set up your own instances of each component, pointed at your own Buildbot Master. Details on each of these is below: | |||
=== Official Development Instance === | |||
Working with the official development evironment is just like working with production. It is managed by Puppet, and must be deployed through it. Once your new code is deployed to it (see below for how to do that), you can create Tasks for builders on the "alder" project branch and dev will pay attention to them. | |||
=== DIY === | |||
You will need a few things to have a fully functioning Buildbot Bridge set-up: | |||
* [https://tools.taskcluster.net/auth/ Taskcluster credentials] | * [https://tools.taskcluster.net/auth/ Taskcluster credentials] | ||
* [[ReleaseEngineering/How_To/Setup_Personal_Development_Master A Build and/or Test Buildbot master]] | * [[ReleaseEngineering/How_To/Setup_Personal_Development_Master | A Build and/or Test Buildbot master]] | ||
** You must be running command_runner.py and pulse_publisher.py as well. | ** You must be running command_runner.py and pulse_publisher.py as well. | ||
** If you need both, they must be pointed at the same database | ** If you need both, they must be pointed at the same database | ||
Line 29: | Line 35: | ||
"buildbot_scheduler_db": "sqlite:////builds/buildbot/bhearsum/build1/master/state.sqlite", | "buildbot_scheduler_db": "sqlite:////builds/buildbot/bhearsum/build1/master/state.sqlite", | ||
"bbb_db": "sqlite:///bbb.db", | "bbb_db": "sqlite:///bbb.db", | ||
"selfserve_url": "http://foo.com/junk", | |||
"pulse_user": "bhearsum-publisher", | "pulse_user": "bhearsum-publisher", | ||
Line 34: | Line 41: | ||
"pulse_queue_basename": "queue/bhearsum-publisher", | "pulse_queue_basename": "queue/bhearsum-publisher", | ||
" | "restricted_builders": [], | ||
"ignored_builders": [], | |||
"tclistener": { | "tclistener": { | ||
Line 42: | Line 48: | ||
"worker_type": "buildbot-bridge-bhearsum", | "worker_type": "buildbot-bridge-bhearsum", | ||
"provisioner_id": "buildbot-bridge-bhearsum", | "provisioner_id": "buildbot-bridge-bhearsum", | ||
"logfile": "tclistener.log" | "logfile": "tclistener.log" | ||
}, | }, | ||
Line 61: | Line 66: | ||
== Deployment == | == Deployment == | ||
The Buildbot Bridge services run on multiple machines for redundancy and increased throughput. The installations are fully deployed and managed by Puppet. The running services are managed by supervisord. You can find them in "/builds/bbb" on the following Buildbot masters: | The Buildbot Bridge services run on multiple machines for redundancy and increased throughput. The installations are fully deployed and managed by Puppet. The running services are managed by supervisord. You can find them in "/builds/bbb" on the following Buildbot masters. | ||
* buildbot-master70.bb.releng.use1.mozilla.com | * Production: | ||
* buildbot-master72.bb.releng.usw2.mozilla.com | ** buildbot-master70.bb.releng.use1.mozilla.com | ||
* buildbot-master82.bb.releng.scl3.mozilla.com | ** buildbot-master72.bb.releng.usw2.mozilla.com | ||
** buildbot-master82.bb.releng.scl3.mozilla.com | |||
* Dev: | |||
** buildbot-master84.bb.releng.scl3.mozilla.com | |||
=== How to update === | === How to update === | ||
Line 71: | Line 79: | ||
# Run "python setup.py sdist" to generate a new tarball. | # Run "python setup.py sdist" to generate a new tarball. | ||
# [[ReleaseEngineering/PuppetAgain/Data#.._add_a_data_file | Copy the tarball to the puppet server]] | # [[ReleaseEngineering/PuppetAgain/Data#.._add_a_data_file | Copy the tarball to the puppet server]] | ||
# Update the [https://github.com/mozilla/build-puppet/blob/master | # Update the dev or prod [https://github.com/mozilla/build-puppet/blob/master/manifests/moco-config.pp version in Puppet]. | ||
# Wait for Puppet to update the installations and restart the instances | # Wait for Puppet to update the installations and restart the instances | ||