gitlabgitlab-cigitlab-ci-runner

Change Gitlab CI Runner user


Currently when I start a build in GitlabCI it is running under gitlab-runner user. I want to change it the company's internal user. I didn't find any parameter to the /etc/gitlab-runner/config.toml which is solve that.

My current configuration:

concurrent = 1
[[runners]]
  name = "deploy"
  url = ""
  token = ""
  executor = "shell"

Solution

  • Running ps aux | grep gitlab you can see:

    /usr/bin/gitlab-ci-multi-runner run --working-directory /home/gitlab-runner --config /etc/gitlab-runner/config.toml --service gitlab-runner --syslog --user gitlab-runner
    

    Service is running with option --user.

    So let's change this, it depends on what distro. you are running it. If systemd, there is a file:

    /etc/systemd/system/gitlab-runner.service:

    [Service]
    StartLimitInterval=5
    StartLimitBurst=10
    ExecStart=/usr/bin/gitlab-ci-multi-runner "run" "--working-directory" "/home/gitlab-runner" "--config" "/etc/gitlab-runner/config.toml" "--se
    

    Bingo, let's change this file now:

    gitlab-runner uninstall
    
    gitlab-runner install --working-directory /home/ubuntu --user ubuntu
    

    reboot the machine or reload the service (i.e. systemctl daemon-reload), et voilĂ !