mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
49 lines
1.7 KiB
Bash
Executable file
49 lines
1.7 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Setup of buildbot configuration. Package installation is being done by
|
|
# Vagrantfile
|
|
# Dependencies: buildbot, buildbot-slave, supervisor
|
|
|
|
USER=$1
|
|
CFG_PATH=$2
|
|
BUILDBOT_PWD=$3
|
|
IRC_PWD=$4
|
|
IRC_CHANNEL=$5
|
|
SMTP_USER=$6
|
|
SMTP_PWD=$7
|
|
EMAIL_RCP=$8
|
|
BUILDBOT_PATH="/data/buildbot"
|
|
DOCKER_PATH="/data/docker"
|
|
SLAVE_NAME="buildworker"
|
|
SLAVE_SOCKET="localhost:9989"
|
|
export PATH="/bin:sbin:/usr/bin:/usr/sbin:/usr/local/bin"
|
|
|
|
function run { su $USER -c "$1"; }
|
|
|
|
# Exit if buildbot has already been installed
|
|
[ -d "$BUILDBOT_PATH" ] && exit 0
|
|
|
|
# Setup buildbot
|
|
run "mkdir -p $BUILDBOT_PATH"
|
|
cd $BUILDBOT_PATH
|
|
run "buildbot create-master master"
|
|
run "cp $CFG_PATH/master.cfg master"
|
|
run "sed -i -E 's#(BUILDBOT_PWD = ).+#\1\"$BUILDBOT_PWD\"#' master/master.cfg"
|
|
run "sed -i -E 's#(IRC_PWD = ).+#\1\"$IRC_PWD\"#' master/master.cfg"
|
|
run "sed -i -E 's#(IRC_CHANNEL = ).+#\1\"$IRC_CHANNEL\"#' master/master.cfg"
|
|
run "sed -i -E 's#(SMTP_USER = ).+#\1\"$SMTP_USER\"#' master/master.cfg"
|
|
run "sed -i -E 's#(SMTP_PWD = ).+#\1\"$SMTP_PWD\"#' master/master.cfg"
|
|
run "sed -i -E 's#(EMAIL_RCP = ).+#\1\"$EMAIL_RCP\"#' master/master.cfg"
|
|
run "buildslave create-slave slave $SLAVE_SOCKET $SLAVE_NAME $BUILDBOT_PWD"
|
|
|
|
# Patch github webstatus to capture pull requests
|
|
cp $CFG_PATH/github.py /usr/local/lib/python2.7/dist-packages/buildbot/status/web/hooks
|
|
|
|
# Allow buildbot subprocesses (docker tests) to properly run in containers,
|
|
# in particular with docker -u
|
|
run "sed -i 's/^umask = None/umask = 000/' slave/buildbot.tac"
|
|
|
|
# Setup supervisor
|
|
cp $CFG_PATH/buildbot.conf /etc/supervisor/conf.d/buildbot.conf
|
|
sed -i -E "s/^chmod=0700.+/chmod=0770\nchown=root:$USER/" /etc/supervisor/supervisord.conf
|
|
kill -HUP $(pgrep -f "/usr/bin/python /usr/bin/supervisord")
|