github.com/ssube/gitlab-ci-multi-runner@v1.2.1-0.20160607142738-b8d1285632e6/packaging/root/usr/share/gitlab-runner/post-install (about)

     1  #!/bin/sh
     2  
     3  set -e
     4  
     5  # detect user: first try to use gitlab_ci_multi_runner
     6  for USER in gitlab_ci_multi_runner gitlab-runner; do
     7    if id -u "$USER" >/dev/null 2>/dev/null; then
     8      echo "GitLab Runner: detected user $USER"
     9      break
    10    fi
    11  done
    12  
    13  # create user if doesn't exist: it will create gitlab-runner if not found
    14  if ! id -u "$USER" >/dev/null 2>/dev/null; then
    15    echo "GitLab Runner: creating $USER..."
    16    useradd --system --shell /bin/bash --comment 'GitLab Runner' --create-home $USER
    17  fi
    18  
    19  # add user to docker group to allow Docker access (insecure)
    20  if id -nG "$USER" | grep -q docker; then
    21    echo "WARNING: $USER belongs to group docker which is insecure, because allows to have root access to host"
    22  fi
    23  
    24  # get USER home directory
    25  eval HOMEDIR=~$USER
    26  
    27  # create empty config and re-register runner
    28  mkdir -p /etc/gitlab-runner
    29  chmod 0700 /etc/gitlab-runner
    30  if [ -f $HOMEDIR/config.toml ] && [ ! -f /etc/gitlab-runner/config.toml ]; then
    31    echo "GitLab Runner: importing configuration to /etc/gitlab-runner/config.toml"
    32    cp $HOMEDIR/config.toml /etc/gitlab-runner/config.toml
    33    chmod 0600 /etc/gitlab-runner/config.toml
    34  fi
    35  
    36  # uninstall old service
    37  gitlab-ci-multi-runner stop --service="gitlab-ci-multi-runner" >/dev/null 2>/dev/null || :
    38  gitlab-ci-multi-runner uninstall --service="gitlab-ci-multi-runner" >/dev/null 2>/dev/null || :
    39  
    40  # re-register runner
    41  gitlab-ci-multi-runner stop >/dev/null 2>/dev/null || :
    42  gitlab-ci-multi-runner uninstall >/dev/null 2>/dev/null || :
    43  gitlab-ci-multi-runner install --user=$USER --working-directory=$HOMEDIR
    44  
    45  # start runner service
    46  gitlab-ci-multi-runner start || :