| Feb | MAR | Apr |
| 02 | ||
| 2020 | 2021 | 2022 |
COLLECTED BY
Collection: Common Crawl
●Python »
Python Developer's Guide »
pip install
buildbot-worker.
●Create a buildbot user (using, eg: useradd) if necessary.
●Log in as the buildbot user.
For Mac:
●Create a buildbot user using the OS/X control panel user admin. It
should be a “standard” user.
●Log in as the buildbot user.
●Install the buildbot worker [1] by running pip install buildbot-worker.
For Windows:
●Create a buildbot user as a “standard” user.
●Install the latest version of Python from python.org.
●Open a Command Prompt.
●Execute python -m pip install pypiwin32 buildbot-worker (note that
python.exe is not added to PATH by default, making the
python command accessible is left as an exercise for the user).
In a terminal window for the buildbot user, issue the following commands (you
can put the buildarea wherever you want to):
mkdir buildarea buildbot-worker create-worker buildarea buildbot.python.org:9020 workername workerpasswd(Note that on Windows, the
buildbot-worker command will be in the
Scripts directory of your Python installation.)
Once this initial worker setup completes, you should edit the files
buildarea/info/admin and buildarea/info/host to provide your contact
info and information on the host configuration, respectively. This information
will be presented in the buildbot web pages that display information about the
builders running on your worker.
You will also want to make sure that the worker is started when the
machine reboots:
For Linux:
Add the following line to /etc/crontab:
@reboot buildbot-worker restart /path/to/buildareaNote that we use
restart rather than start in case a crash has
left a twistd.pid file behind.
For OSX:
Create a bin directory for your buildbot user:
mkdir binPlace the following script, named
run_worker.sh, into that directory:
#!/bin/bash export PATH=/usr/local/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:$PATH export LC_CTYPE=en_US.utf-8 cd /Users/buildbot/buildarea twistd --nodaemon --python=buildbot.tac --logfile=buildbot.log --prefix=workerIf you use pip with Apple’s system python, add ‘/System’ to the front of the path to the Python bin directory. Place a file with the following contents into
/Library/LaunchDaemons:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>net.buildbot.worker</string> <key>UserName</key> <string>buildbot</string> <key>WorkingDirectory</key> <string>/Users/buildbot/buildarea</string> <key>ProgramArguments</key> <array> <string>/Users/buildbot/bin/run_worker.sh</string> </array> <key>StandardOutPath</key> <string>twistd.log</string> <key>StandardErrorPath</key> <string>twistd.log</string> <key>KeepAlive</key> <true/> <key>SessionCreate</key> <true/> </dict> </plist>The recommended name for the file is
net.buildbot.worker.
For Windows:
●Add a Scheduled Task to run buildbot-worker start buildarea as the
buildbot user “when the computer starts up”. It is best to provide
absolute paths to the buildbot-worker command and the buildarea
directory. It is also recommended to set the task to run in the
directory that contains the buildarea directory.
●Alternatively (note: don’t do both!), set up the worker
service as described in the buildbot documentation.
To start the worker running for your initial testing, you can do:
buildbot-worker start buildareaThen you can either wait for someone to make a commit, or you can pick a builder associated with your worker from the list of builders and force a build. In any case you should initially monitor builds on your builders to make sure the tests are passing and to resolve any platform issues that may be revealed by tests that fail. Unfortunately we do not currently have a way to notify you only of failures on your builders, so doing periodic spot checks is also a good idea.
m4.large)
●Full region specification (such as us-west-2)
●AMI ID (such as ami-1234beef)
●An Access Key ID and Access Key. It is recommended to set up
a separate IAM user with full access to EC2 and provide the access key
information for that user rather than for your main account.
The buildmaster cannot guarantee that it will always shut down your
instance(s), so it is recommended to periodically check and make sure
there are no “zombie” instances running on your account, created by the
buildbot master. Also, if you notice that your worker seems to have been
down for an unexpectedly long time, please ping the python-buildbots list to
request that the master be restarted.
Latent workers should also be updated periodically to include operating system
or other software updates, but when to do such maintenance is largely up to you
as the worker owner. There are a couple different options for doing such
updates:
●Start an instance from your existing AMI, do updates on that instance,
and save a new AMI from the updated instance. Note that (especially for
Windows workers) you should do at least one restart of the instance after
doing updates to be sure that any post-reboot update work is done before
creating the new AMI.
●Create an entirely new setup from a newer base AMI using your existing
worker name and password.
Whichever way you choose to update your AMI, you’ll need to provide the
buildmaster administrators with the new AMI ID.
python-buildbots@python.org so that you will be made
aware of any fleet-wide issues.
Necessary tasks include, obviously, keeping the buildbot running. Currently
the system for notifying buildbot owners when their workers go offline is not
working; this is something we hope to resolve. So currently it is helpful if
you periodically check the status of your worker. We will also contact you
via your contact address in buildarea/info/admin when we notice there is a
problem that has not been resolved for some period of time and you have
not responded to a posting on the python-buildbots list about it.
We currently do not have a minimum version requirement for the worker
software. However, this is something we will probably establish as we tune the
fleet, so another task will be to occasionally upgrade the buildbot worker software.
Coordination for this will be done via python-buildbots@python.org.
The most interesting extra involvement is when your worker reveals a unique
or almost-unique problem: a test that is failing on your system but not on
other systems. In this case you should be prepared to offer debugging help to
the people working on the bug: running tests by hand on the worker machine
or, if possible, providing ssh access to a committer to run experiments to try
to resolve the issue.
| Port | Host | Description |
|---|---|---|
| 20, 21 | ftp.debian.org | test_urllib2net |
| 53 | your DNS server | test_socket, and others implicitly |
| 80 | python.org example.com | (several tests) |
| 119 | news.gmane.org | test_nntplib |
| 443 | (various) | test_ssl |
| 465 | smtp.gmail.com | test_smtpnet |
| 587 | smtp.gmail.com | test_smtpnet |
| 9020 | python.org | connection to buildmaster |
localhostor127.0.0.1.
| [1] | If the buildbot is going to do Framework builds, it is better to use the Apple-shipped Python so as to avoid any chance of the buildbot picking up components from the installed python.org python. |
●Python »
Python Developer's Guide »