gitlab-ci-multi-runner fails to submit builds to coordinator due to permission issues
We had a working GitLab 7.14 installation with GitLab CI enabled. Did a `apt-get update && apt-get dist-upgrade` and that upgraded GitLab to `8.1.2-ce.0`. New GitLab looks real cool, thanks for the good job!
We didn't need the old build info, so seeing it gone was not a big deal for us. We installed and enabled `gitlab-ci-multi-runner` version `0.6.2` according to official docs with `apt-get install gitlab-ci-multi-runner` and did set it up according to instructions.
However, builds remained hanging in *running* status because **submitting builds failed with status 500**.
When running the build runner in debug mode:
```
gitlab-ci-multi-runner stop
gitlab-ci-multi-runner --debug run
```
then output was as follows:
```
INFO[0000] f5a7637a 16 Using Shell executor...
DEBU[0000] f5a7637a 16 Starting shell command...
DEBU[0000] f5a7637a 16 Waiting for signals...
DEBU[0003] 1 Feeding runners to channel
WARN[0003] f5a7637a 16 Submitting build to coordinator... failed 500 Internal Server Error
```
and the runner kept retrying endlessly.
So I dug through `/var/log/gitlab/gitlab-rails/production.log` and discovered the following lines:
```
Started PUT "/ci/api/v1/builds/16.json" for x.x.x.x at 2015-11-02 20:59:56 +0200
Errno::EACCES (Permission denied @ dir_s_mkdir - /var/opt/gitlab/gitlab-ci/builds/2015_11/14):
/opt/gitlab/embedded/lib/ruby/2.1.0/fileutils.rb:250:in `mkdir'
```
and indeed, `/var/opt/gitlab/gitlab-ci/builds/` was owned by `gitlab-ci`, but the service seems to be running as `git` user.
So I solved the problem by running
```
chown -R git: /var/opt/gitlab/gitlab-ci/builds/
```
After that everything is working well.
**I suggest this `chown` line to be added to package upgrade/setup scripts to avoid this trouble for others.**
issue