Skip to content

Instantly share code, notes, and snippets.

@soullivaneuh
Created October 12, 2019 18:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save soullivaneuh/253046d256eade40e6785cdc484e0020 to your computer and use it in GitHub Desktop.
Save soullivaneuh/253046d256eade40e6785cdc484e0020 to your computer and use it in GitHub Desktop.
Gitlab runner deploy auto-setup and register
#!/usr/bin/env bash
set -e
# Usage: bash setup.sh
# This script is supposed to be ran with root user.
# @see https://dockerswarm.rocks/gitlab-ci/
# GitLab runner setup
register_token=${GITLAB_TOKEN:?}
register_host=${GITLAB_HOST:-https://gitlab.com}
runner_image='gitlab/gitlab-runner:latest'
runner_container='gitlab-runner'
has_volume=$(docker volume ls | grep -o gitlab-runner || :)
echo "runner: update"
docker pull "${runner_image}"
docker stop --time="3600" "${runner_container}" || true
docker rm "${runner_container}" || true
docker run \
--name "${runner_container}" \
--detach \
--restart always \
--volume gitlab-runner:/etc/gitlab-runner \
--volume /var/run/docker.sock:/var/run/docker.sock \
"${runner_image}" || true
docker ps
echo "${has_volume}"
if [ -z "${has_volume}" ]; then
echo "runner: register"
docker exec -it --env REGISTER_NON_INTERACTIVE=true kidways_gitlab-runner \
gitlab-runner \
register \
--name "${HOSTNAME:?}.deploy.runner" \
--executor docker \
--docker-image docker:19 \
--docker-volumes /var/run/docker.sock:/var/run/docker.sock \
--url "${register_host}" \
--registration-token "${register_token:?}" \
--tag-list "deploy:${HOSTNAME:?}"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment