github.com/secure-build/gitlab-runner@v12.5.0+incompatible/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  if gitlab-runner status --service="gitlab-runner"; then
    38    gitlab-runner stop --service="gitlab-runner" >/dev/null 2>/dev/null || :
    39    gitlab-runner uninstall --service="gitlab-runner" >/dev/null 2>/dev/null || :
    40  fi
    41  
    42  # if migrating from pre 10.0.0 installation
    43  if gitlab-runner status --service="gitlab-ci-multi-runner"; then
    44    gitlab-runner stop --service="gitlab-ci-multi-runner" >/dev/null 2>/dev/null || :
    45    gitlab-runner uninstall --service="gitlab-ci-multi-runner" >/dev/null 2>/dev/null || :
    46  fi
    47  
    48  # re-register runner
    49  gitlab-runner stop >/dev/null 2>/dev/null || :
    50  gitlab-runner uninstall >/dev/null 2>/dev/null || :
    51  gitlab-runner install --user=$USER --working-directory=$HOMEDIR
    52  
    53  # start runner service
    54  gitlab-runner start || :