ReleaseEngineering/How To/Setup a buildbot master: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
These instructions are probably incomplete, but should serve as a good starting point for setting up a new buildbot master.  If you find something missing or inaccurate, please update!
* Create a new directory for your master, e.g. /builds/buildbot/mymaster
* Create a new directory for your master, e.g. /builds/buildbot/mymaster
* Create a virtual environment for your master
* Create a virtual environment for your master
<pre>
  <pre>
virtualenv --distribute --no-site-packages -p /tools/python-2.6.5/bin/python /builds/buildbot/mymaster
  virtualenv --distribute --no-site-packages -p /tools/python-2.6.5/bin/python /builds/buildbot/mymaster
</pre>
  </pre>
 
* Install required packages
* Install required packages
<pre>
    <pre>
pip install simplejson
    pip install simplejson
pip install mysql-python
    pip install mysql-python
pip install Twisted==10.1.0
    pip install Twisted==10.1.0
pip install nose
    pip install sqlalchemy
pip install sqlalchemy
    pip install argparse
pip install argparse
    pip install pycrypto
pip install pycrypto
    pip install pyasn1
pip install pyasn1
    pip install mysql-python
pip install mysql-python
    pip install pyopenssl==0.10
pip install pyopenssl==0.10
    pip install http://hg.mozilla.org/users/clegnitto_mozilla.com/mozillapulse/archive/tip.tar.bz2
pip install http://hg.mozilla.org/users/clegnitto_mozilla.com/mozillapulse/archive/tip.tar.bz2
    hg clone http://hg.mozilla.org/build/buildbot
hg clone http://hg.mozilla.org/build/buildbot
    (cd buildbot/master; $PYTHON setup.py develop install)
(cd buildbot/master; $PYTHON setup.py develop install)
    (cd buildbot/slave; $PYTHON setup.py develop install)
(cd buildbot/slave; $PYTHON setup.py develop install)
    hg clone -b production-0.8 http://hg.mozilla.org/build/buildbotcustom
hg clone -b production-0.8 http://hg.mozilla.org/build/buildbotcustom
    hg clone -b production http://hg.mozilla.org/build/buildbot-configs
hg clone -b production http://hg.mozilla.org/build/buildbot-configs
    hg clone http://hg.mozilla.org/build/tools
hg clone http://hg.mozilla.org/build/tools
    </pre>
</pre>
 
* Add Makefile
    <pre>
    PWD=$(shell pwd)
    BUILDBOT=$(PWD)/bin/buildbot
    HG=/tools/python-2.6.5/bin/hg
    export PYTHONDONTWRITEBYTECODE=1
    export PYTHONPATH=/builds/buildbot/mymaster/tools/lib/python
 
    start:
            cd master && $(BUILDBOT) start $$PWD
    stop:
            cd master && $(BUILDBOT) stop $$PWD
    restart:
            cd master && $(BUILDBOT) restart $$PWD
    reconfig:
            cd master && $(BUILDBOT) reconfig $$PWD
    checkconfig:
            cd master && $(BUILDBOT) checkconfig
    update:
            (cd buildbotcustom && $(HG) pull && $(HG) update -C)
            (cd buildbot-configs && $(HG) pull && $(HG) update -C)
            (cd tools && $(HG) pull && $(HG) update -C)
    version:
            $(BUILDBOT) --version
 
* Setup master
    <pre>
    mkdir master
    cd master
    ln -s ../buildbot-configs/config.py .
    ln -s ../buildbot-configs/production_config.py localconfig.py
    etc. --catlee too tired to fill this in right now. add symlinks and run make checkconfig until it works!

Revision as of 05:37, 8 March 2011

These instructions are probably incomplete, but should serve as a good starting point for setting up a new buildbot master. If you find something missing or inaccurate, please update!

  • Create a new directory for your master, e.g. /builds/buildbot/mymaster
  • Create a virtual environment for your master
  virtualenv --distribute --no-site-packages -p /tools/python-2.6.5/bin/python /builds/buildbot/mymaster
  
  • Install required packages
    pip install simplejson
    pip install mysql-python
    pip install Twisted==10.1.0
    pip install sqlalchemy
    pip install argparse
    pip install pycrypto
    pip install pyasn1
    pip install mysql-python
    pip install pyopenssl==0.10
    pip install http://hg.mozilla.org/users/clegnitto_mozilla.com/mozillapulse/archive/tip.tar.bz2
    hg clone http://hg.mozilla.org/build/buildbot
    (cd buildbot/master; $PYTHON setup.py develop install)
    (cd buildbot/slave; $PYTHON setup.py develop install)
    hg clone -b production-0.8 http://hg.mozilla.org/build/buildbotcustom
    hg clone -b production http://hg.mozilla.org/build/buildbot-configs
    hg clone http://hg.mozilla.org/build/tools
    
  • Add Makefile
    PWD=$(shell pwd)
    BUILDBOT=$(PWD)/bin/buildbot
    HG=/tools/python-2.6.5/bin/hg
    export PYTHONDONTWRITEBYTECODE=1
    export PYTHONPATH=/builds/buildbot/mymaster/tools/lib/python

    start:
            cd master && $(BUILDBOT) start $$PWD
    stop:
            cd master && $(BUILDBOT) stop $$PWD
    restart:
            cd master && $(BUILDBOT) restart $$PWD
    reconfig:
            cd master && $(BUILDBOT) reconfig $$PWD
    checkconfig:
            cd master && $(BUILDBOT) checkconfig
    update:
            (cd buildbotcustom && $(HG) pull && $(HG) update -C)
            (cd buildbot-configs && $(HG) pull && $(HG) update -C)
            (cd tools && $(HG) pull && $(HG) update -C)
    version:
            $(BUILDBOT) --version

* Setup master
    
    mkdir master
    cd master
    ln -s ../buildbot-configs/config.py .
    ln -s ../buildbot-configs/production_config.py localconfig.py
    etc. --catlee too tired to fill this in right now. add symlinks and run make checkconfig until it works!