Gitlab-CI Runner HTTP Basic Access denied with private repo (self-hosted)

This is the output I get by clicking show complete raw because the normal view is just 1 black line (no log inside).

I tried what https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/ci/ssh_keys/README.md says, but with no luck.

I have a server with two docker containers: one with gitlab, the other with gitlab-runner. I access gitlab via https://www.example.com/gitlab. I have tested with shared runner and with a specific runner (like the code I show below). In both cases is the same: it fails because it cannot fetch my repository.

It only works (both shared and specific runners) if I set my repo public (neither private, nor internal). And I would like to work with a private repo. Let’s suppose I have my repo here: https://www.example.com/gitlab/myuser/myrepo-js.git.

[0KRunning with gitlab-runner 10.1.0 (c1ecf97f)
  on runner-myrepo-js (900c71a4)
[0;m[0KUsing Docker executor with image node:latest ...
[0;m[0KUsing docker image sha256:46da793b60ee30f8df451729e315f531f0acd24a92c8fba10401513530beff99 for predefined container...
[0;m[0KPulling docker image node:latest ...
[0;m[0KUsing docker image node:latest ID=sha256:cbea0ebe4f3cf07daecf22b196ba6b5d76d1fe1b6548098e5bc9dd9b0736f262 for build container...
[0;msection_start:1509656546:prepare_script
[0KRunning on runner-900c71a4-project-32-concurrent-0 via a16b07f5f84b...
section_end:1509656548:prepare_script
[0Ksection_start:1509656548:get_sources
[0K[32;1mCloning repository...[0;m
Cloning into '/builds/gitlab/myuser/myrepo-js'...
remote: HTTP Basic: Access denied
fatal: Authentication failed for 'https://example.com/gitlab/myuser/myrepo-js.git/'
section_end:1509656549:get_sources
[0K[31;1mERROR: Job failed: exit code 1
[0;m

What should I do?

Also, how can I get the log working “in real time”? (I have tested with the admin and it works, but with an user doesn’t).

I have both gitlab and gitlab-runner in version 10. And we always pull/push via HTTPS, we have not configured the SSH keys (apart from the solution to fetching private repos - deploy keys etc).

The log:

We were struggling today and definetely it is a problem of SSL:

Our frontend used SSL certificates, but the backend (gitlab) used plain HTTP (behind a proxy). This broke the real-time log of jobs and the access to private repos from runners.

Adding the SSLs and forcing HTTPS in the backend solved the problem.

Out of curiosity, are your project public? I am having similar issues but in my case I don’t have HTTPS access configured because my projects are private so the only cloning mode is ssh which seems to not work.

I have both, public and internal projects.

Still nowadays I cannot use ssh with gitlab, but probably because we are behing a proxy and ssh tunnel.

I gave up trying. Simply doesn’t work. The runners do require https access for testing.

Has anyone found any solution for this issue?

There’s no solution except to enable http access.