Gitlab runner pending despite Admin showing active

I have followed the trouble shooting to wit’s end.

I have a self-hosted Gitlab EE instance on gitlab.mysite.com and I have a site located at an IP address like http://40.12.24.33,

I ssh’d into the site which is an IP (no domain yet) and installed my Laravel app. Now I have changed I want to autodeploy, so I while I am in tn the box of the Laravel project, I install the gitlab-runner

myuser@laravel-app-01:/var/www/html$ gitlab-runner -v
Version:      10.4.0
Git revision: 857480b6
Git branch:   10-4-stable
GO version:   go1.8.5
Built:        Mon, 22 Jan 2018 09:47:33 +0000
OS/Arch:      linux/amd64

It’s on Ubuntu/Nginx.

Here is my .config.toml

concurrent = 1
check_interval = 0

[[runners]]
name = “Dashboards”
url = “https://gitlab.mysite.com/
token = “"
executor = “ssh”
[runners.ssh]
user = “myuser”
password = "
*”
host = “10.79.78.53”
port = “22”
identity_file = “/home/myuser/.ssh/id_rsa”
[runners.cache]

Obfuscated for reasons. I copy the token above from https://gitlab.mysite.com/web/dashboards/settings/ci_cd where it says Shared runners and gives you the URL and token.

So I do the following gitlab-runner checks like so:

myuser@laravel-app-01:/var/www/html$ gitlab-runner list
Listing configured runners                          ConfigFile=/home/myuser/.gitlab-runner/config.toml
Dashboards                                  Executor=ssh Token=******** URL=https://gitlab.mysite.com/
myuser@laravel-app-01:/var/www/html$ gitlab-runner verify
WARNING: Running in user-mode.
WARNING: The user-mode requires you to manually start builds processing:
WARNING: $ gitlab-runner run
WARNING: Use sudo for system-mode:
WARNING: $ sudo gitlab-runner...

Verifying runner... is alive                        runner=********

Awesome, everything seems to be working. The runner is verified and installed, so I go to the main admin page: https://gitlab.mysite.com/admin/runners

Great. All good. So I go to double check: https://gitlab.mysite.com/web/dashboards/settings/ci_cd:

image

Good deal. All set. I have my .gitlab-ci.yml uploaded:

before_script:
  - '[[ ! -e /.dockerenv ]] && exit 0'

stages:
  - deploy_master

deploy_master:
   stage: deploy_master
   before_script:
     - mkdir -p ~/.ssh
     - echo -e "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
     - chmod 600 ~/.ssh/id_rsa
     - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
   script:
     - ssh $DEV_USER@$DEV_SERVER "cd ~/var/www/html && git pull origin master && ~/bin/composer install"
   environment:
     name: Testing
     url: http://10.79.78.53
   only:
     - master

All I am trying to do is build and deploy. Then once I get it working… tests. But this is simple stuff for a Laravel app, right?

and yes, I have my SSH keys and I did upload them to the Laravel project app server where the gitlab runner is also hosted. I don’t think my .gitlab-ci.yml is to blame because appearantly the job won’t even run.

When I go to Pipeline: I get:

This job is stuck, because you don't have any active runners that can run this job. 
Go to Runners page

I go there and … well… it’s active, no?

So I am at my wit’s end. What am I doing wrong? I would love to solve this.

Thank you for your time.

Can you check if the runner is actually actively running and attempting to retrieve jobs? Try running gitlab-runner status.

You should be able to look on the server logs: /var/log/gitlab/gitlab-rails/api_json.log

1 Like

Hi, yes, I get gitlab-runner: Service is running!

and looking to ‘server logs’: cat: /var/log/gitlab/gitlab-rails/api_json.log: No such file or directory

I went back and did gitlab-runner start and it seems to have ran (finally):

Running with gitlab-runner 10.4.0 (857480b6)
  on Dashboards (f52de49f)
Using SSH executor...
Running on laravel-app-01 via laravel-app-01...
Fetching changes...
HEAD is now at 896d075 Add changes
fatal: unable to access 'https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@gitlab.mysite.com/web/dashboards.git/': Problem with the SSL CA cert (path? access rights?)
ERROR: Job failed: Process exited with: 1. Reason was:  ()

Not sure why… We do have the gitlab.mysite.com on HTTPS. Where it’s pushing to, the Dashboard websites is an IP address (no domain yet). Maybe that’s the problem?

That certainly sounds like an SSL certificate issue. You might want to consult:

1 Like

But the thing is, the IP Isn’t on an SSL. I guess it should be? @stanhu Or do you mean the SSL on the gitlab instance which is ON an SSL

Hi, I’ve got the same issue and restart the runner fixed it.

1 Like

I have also restarted runner and it finally work for me.

1 Like