diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-util/buildbot-worker/files |
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-util/buildbot-worker/files')
6 files changed, 210 insertions, 0 deletions
diff --git a/dev-util/buildbot-worker/files/buildbot.tac.sample b/dev-util/buildbot-worker/files/buildbot.tac.sample new file mode 100644 index 000000000000..ee3d7ca3cef9 --- /dev/null +++ b/dev-util/buildbot-worker/files/buildbot.tac.sample @@ -0,0 +1,70 @@ +''' +This is a sample buildbot.tac file to initalize +a buildbot worker complete with logging. +''' + +import os.path +import socket + +from twisted.application import service +from twisted.python.logfile import LogFile +from twisted.python.log import ILogObserver, FileLogObserver + +from buildbot_worker.bot import Worker + +################################ +# Set the following variables +# to your desired values +################################# + +# use the current directory or +# set to an absolute value +basedir = '.' + +# logging +rotateLength = 10000000 +maxRotatedFiles = 10 + +# buildbot communication port +port = 9989 + +# worker settings +worker_name = 'worker-1' +passwd = 'mypasswd' +buildmaster_host = 'mybuildbot.foobar.org' +keepalive = 600 +umask = None +maxdelay = 300 +numcpus = None +allow_shutdown = None + + +# Begin starting up the worker +# if this is a relocatable tac file, get the directory containing the TAC +if basedir == '.': + basedir = os.path.abspath(os.path.dirname(__file__)) + +# note: this line is matched against to check that this is +# a buildbot-worker directory; do not edit it. +application = service.Application('buildbot-worker') + +# set up logging +logfile = LogFile.fromFullPath(os.path.join(basedir, "twistd.log"), + rotateLength=rotateLength, + maxRotatedFiles=maxRotatedFiles + ) +application.setComponent(ILogObserver, FileLogObserver(logfile).emit) + +worker = Worker(buildmaster_host, + port, + worker_name, + passwd, + basedir, + keepalive, + umask=umask, + maxdelay=maxdelay, + numcpus=numcpus, + allow_shutdown=allow_shutdown + ) + +worker.setServiceParent(application) diff --git a/dev-util/buildbot-worker/files/buildbot_worker.confd b/dev-util/buildbot-worker/files/buildbot_worker.confd new file mode 100644 index 000000000000..7e77999cf0c8 --- /dev/null +++ b/dev-util/buildbot-worker/files/buildbot_worker.confd @@ -0,0 +1,9 @@ +# Path to the build slave's basedir. +BASEDIR="/var/lib/buildbot_worker" + +# User account for the buildslave. +# The basedir should be owned by this user. +USERNAME="buildbot" + +# Extra options passed to twistd. +TWISTD_OPTS="" diff --git a/dev-util/buildbot-worker/files/buildbot_worker.confd2 b/dev-util/buildbot-worker/files/buildbot_worker.confd2 new file mode 100644 index 000000000000..3ae1d865fdb1 --- /dev/null +++ b/dev-util/buildbot-worker/files/buildbot_worker.confd2 @@ -0,0 +1,14 @@ +# Path to the build slave's basedir. +BASEDIR="/var/lib/buildbot_worker" + +# User account for the buildslave. +# The basedir should be owned by this user. +USERNAME="buildbot" + +# Extra options passed to twistd. +TWISTD_OPTS="" + +# Optional specifiv python version to run in +# (if not the system default version) +# ie: RUNTIME_PYTHON="/usr/bin/python2.7" +RUNTIME_PYTHON="" diff --git a/dev-util/buildbot-worker/files/buildbot_worker.initd b/dev-util/buildbot-worker/files/buildbot_worker.initd new file mode 100644 index 000000000000..8b13460491e4 --- /dev/null +++ b/dev-util/buildbot-worker/files/buildbot_worker.initd @@ -0,0 +1,48 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +checkconfig() { + if [ -z "${BASEDIR}" ]; then + eerror "BASEDIR not set" + return 1 + fi + if [ -z "${USERNAME}" ]; then + eerror "USERNAME not set" + return 1 + fi + if [ ! -d "${BASEDIR}" ]; then + eerror "${BASEDIR} is not a directory" + return 1 + fi + if [ ! -e "${BASEDIR}/buildbot.tac" ]; then + eerror "${BASEDIR} does not contain buildbot.tac" + return 1 + fi +} + +start() { + checkconfig || return 1 + ebegin "Starting buildslave in ${BASEDIR}" + # We set HOME here to make something valid show up in the env of child + # processes spawned by the buildslave. + start-stop-daemon --start -u "${USERNAME}" \ + --pidfile "${BASEDIR}/buildbot_worker.pid" \ + --env HOME="${BASEDIR}" \ + --exec /usr/bin/twistd -- \ + --no_save \ + --logfile="${BASEDIR}/twistd.log" \ + --pidfile="${BASEDIR}/buildbot_worker.pid" \ + --python="${BASEDIR}/buildbot.tac" + eend $? +} + +stop() { + ebegin "Stopping buildslave in ${BASEDIR}" + start-stop-daemon --stop --pidfile "${BASEDIR}/buildbot_worker.pid" + eend $? +} diff --git a/dev-util/buildbot-worker/files/buildbot_worker.initd2 b/dev-util/buildbot-worker/files/buildbot_worker.initd2 new file mode 100644 index 000000000000..453d207e5d88 --- /dev/null +++ b/dev-util/buildbot-worker/files/buildbot_worker.initd2 @@ -0,0 +1,57 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +BUILDWORKER_NAME=${RC_SVCNAME:16} +BUILDWORKER_PATH="${BASEDIR}/${BUILDWORKER_NAME}" +depend() { + need net +} + +checkconfig() { + if [ -z "${BUILDWORKER_NAME}" ]; then + eerror "Buildbot-worker name not defined. Please link buildbot_worker.foo to this file to start the buildbot_worker with the name \"foo\"." + return 1 + fi + if [ -z "${BASEDIR}" ]; then + eerror "BASEDIR not set" + return 1 + fi + if [ -z "${USERNAME}" ]; then + eerror "USERNAME not set" + return 1 + fi + if [ ! -d "${BUILDWORKER_PATH}" ]; then + eerror "${BUILDWORKER_PATH} is not a directory" + return 1 + fi + if [ ! -e "${BUILDWORKER_PATH}/buildbot.tac" ]; then + eerror "${BUILDWORKER_PATH} does not contain buildbot.tac" + return 1 + fi + if [ ! -e "${RUNTIME_PYTHON}" ]; then + RUNTIME_PYTHON="/usr/bin/python" + fi +} + +start() { + checkconfig || return 1 + ebegin "Starting buildbot-worker in ${BUILDWORKER_PATH}" + # We set HOME here to make something valid show up in the env of child + # processes spawned by the buildbot-worker. + start-stop-daemon --start -u "${USERNAME}" \ + --pidfile "${BUILDWORKER_PATH}/buildbot_worker.pid" \ + --env HOME="${BUILDWORKER_PATH}" \ + --exec "${RUNTIME_PYTHON}" -- /usr/bin/twistd \ + --no_save \ + --logfile="${BUILDWORKER_PATH}/twistd.log" \ + --pidfile="${BUILDWORKER_PATH}/buildbot_worker.pid" \ + --python="${BUILDWORKER_PATH}/buildbot.tac" + eend $? +} + +stop() { + ebegin "Stopping buildbot-worker in ${BUILDWORKER_PATH}" + start-stop-daemon --stop --pidfile "${BUILDWORKER_PATH}/buildbot_worker.pid" + eend $? +} diff --git a/dev-util/buildbot-worker/files/buildbot_worker.service b/dev-util/buildbot-worker/files/buildbot_worker.service new file mode 100644 index 000000000000..e75a2d51e4f3 --- /dev/null +++ b/dev-util/buildbot-worker/files/buildbot_worker.service @@ -0,0 +1,12 @@ +[Unit] +Description=buildbot worker (slave) instances +After=local-fs.target network.target + +[Service] +Type=forking +User=buildbot +ExecStart=/usr/bin/buildbot_worker start /var/lib/buildbot_worker +ExecStop=/usr/bin/buildbot_worker stop /var/lib/buildbot_worker + +[Install] +WantedBy=multi-user.target |