blob: 21988f85052f08f418986cb15780519dcaf2b86a (
plain) (
tree)
|
|
#!/usr/bin/env sh
_buildkite_config() {
BUILDKITE_PATH=/root/.buildkite-agent
BUILDKITE_USER=root
if [ "$1" = 'ubuntu' -o "$1" = 'debian' -o "$1" = 'centos' ]
then
BUILDKITE_PATH=/etc/buildkite-agent
BUILDKITE_USER=buildkite-agent
fi
# Update the configuration.
lxc_do bash -c "echo name=\"$1-%n\" >> $BUILDKITE_PATH/buildkite-agent.cfg"
lxc_do bash -c "echo tags=\"os=$1\" >> $BUILDKITE_PATH/buildkite-agent.cfg"
# Install hooks.
lxc_do bash -c " \
echo \"export BUILDKITE_API_TOKEN=$BUILDKITE_API_TOKEN\" >> /etc/buildkite-env"
lxc_do bash -c " \
echo \"export BUILDKITE_LOGS_SERVER=$BUILDKITE_LOGS_SERVER\" >> /etc/buildkite-env"
<$( cd "$( dirname "$0" )" && pwd )/priv/buildkite-pre-artifact-hook \
lxc_do bash -c "cat > $BUILDKITE_PATH/hooks/pre-artifact"
lxc_do chmod +x $BUILDKITE_PATH/hooks/pre-artifact
lxc_do chown $BUILDKITE_USER:$BUILDKITE_USER $BUILDKITE_PATH/hooks/pre-artifact
}
_buildkite_install_centos() {
lxc_do bash -c 'echo -e "[buildkite-agent]\nname = Buildkite Pty Ltd\nbaseurl = https://yum.buildkite.com/buildkite-agent/stable/x86_64/\nenabled=1\ngpgcheck=0\npriority=1" > /etc/yum.repos.d/buildkite-agent.repo'
lxc_do yum install -y buildkite-agent
lxc_do sed -i "s/xxx/$2/g" /etc/buildkite-agent/buildkite-agent.cfg
lxc_do systemctl enable buildkite-agent
}
_buildkite_install_generic() {
lxc_do curl -sLO https://raw.githubusercontent.com/buildkite/agent/master/install.sh
lxc_do bash -c "TOKEN=\"$2\" bash install.sh"
lxc_do rm install.sh
lxc_do bash -c 'echo "@reboot /root/.buildkite-agent/bin/buildkite-agent start &" >> tmpcron'
lxc_do crontab tmpcron
lxc_do rm tmpcron
}
_buildkite_install_ubuntu() {
lxc_do bash -c 'echo deb https://apt.buildkite.com/buildkite-agent stable main \
> /etc/apt/sources.list.d/buildkite-agent.list'
lxc_do apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 \
--recv-keys 32A37959C2FA5C3C99EFBC32A79206696452D198
lxc_do apt-get update
lxc_do apt-get install -y buildkite-agent
lxc_do sed -i "s/xxx/$2/g" /etc/buildkite-agent/buildkite-agent.cfg
lxc_do systemctl enable buildkite-agent
}
# buildkite_install dist token
buildkite_install() {
if [ "$1" = 'ubuntu' -o "$1" = 'debian' ]
then
_buildkite_install_ubuntu "$@"
elif [ "$1" = 'centos' ]
then
_buildkite_install_centos "$@"
else
_buildkite_install_generic "$@"
fi
_buildkite_config $1
}
# buildkite_stop dist
buildkite_stop() {
if [ "$1" = 'ubuntu' -o "$1" = 'debian' ]
then
lxc_do systemctl stop buildkite-agent || true
else
lxc_do killall -q buildkite-agent || true
fi
}
|