#!/usr/bin/env bash context_dir="./context" dockerfile="py_tools_ds_ci.docker" tag="py_tools_ds_ci:0.15.2" gitlab_runner="py_tools_ds_gitlab_CI_runner" echo "#### Build runner docker image" sudo docker rmi ${tag} sudo docker build ${context_dir} \ -f ${context_dir}/${dockerfile} \ -m 20G \ -t ${tag} echo "#### Create gitlab-runner (daemon) container with tag; ${tag}" sudo docker stop ${gitlab_runner} sudo docker rm ${gitlab_runner} sudo docker run \ -d \ --name ${gitlab_runner} \ --restart always \ -v /var/run/docker.sock:/var/run/docker.sock \ gitlab/gitlab-runner:latest # -v gitlab-runner-config:/etc/gitlab-runner \ echo "#### Register container at gitlab, get token here https://gitext.gfz-potsdam.de/danschef/py_tools_ds/settings/ci_cd" read -p "Please enter gitlab token: " token echo "" read -p "Please enter gitlab runner name: " runner_name echo "New gitlab runner image will named ${gitlab_runner}" sudo docker exec -it ${gitlab_runner} /bin/bash -c "\ export RUNNER_EXECUTOR=docker && \ gitlab-ci-multi-runner register \ --non-interactive \ --executor 'docker' \ --docker-image '${tag}' \ --url 'https://gitext.gfz-potsdam.de/ci' \ --registration-token '${token}' \ --description '${runner_name}' \ --tag-list py_tools_ds_ci_client \ --run-untagged='true' \ --locked='true' \ --access-level='not_protected' \ --docker-pull-policy='never'" ls