CI/CD job is still pending, because no runner exists?

Hello there,

I would like to create jobs for an automatically release build, however, maybe I’m missing something.
I’m starting with a fresh .gitlab-ci.yml from here: Tutorial: Create, register, and run your own project runner | GitLab

It expects, that a basic job shall run without caring of failure, because there’s no artifact section. Unlike the expected result my job is still pending and nothing happens until the timeout triggers (10 minutes by given runner).

So, it looks like this:

It tells, that no runner hasn’t been assigned to this job(s):

In the CI settings a runner still exists, but I don’t know why this warning appears:

It doesn’t shows a clear reason for me.

Actually, I don’t know if a runner needs a special operating system? Since I’ve source code written in Windows, do I need a runner for Windows only?

When I’m going to create a new runner, this message also appears:

What’s to do here? Shall be the runner(s) enabled in the config file? Are these disabled by default? Could that be the reason? How do I update to the new runner, if required? Acutally, I don’t know, which version is in use here?

By the way, when I’m creating a new runner a summery like this results:

It seems, that I need to install a gitlab runner, but shall this really installed on the current local machine, where I working on? What happens, when I’m on an another computer? Is it also required to register / install a gitlab runner, to let run the pipeline(s)? This makes no sense to me. I thought, that a runner shall be on the server side and not on the client side(s)…?

Finally, I’m using a self hosted gitlab CE with version 16.5.0-ee, which reports, that it is up to date.

Thanks. (:

Hey there,

Just to make sure, I’ll note you down some basics, so you can go through and check what went wrong, or go through the complete process from scratch:

  • GitLab Runner can be installed on any machine (normally a server) and preferably not on the one where GitLab instance is running. Of course it should be able to make requests towards your GitLab instance.
  • GitLab Runner can be installed in a few ways, and for every OS there is a different binary available - check the official docs for installation
  • After successful installation, you need to register the runner. During this step you will also choose the executor and tags. Tags are important, because by default, Runners pick up only jobs that have the same tag - this means you shall use the same tags in your job definition. Otherwise you can disable this somewhere in Runner config. Also note that you can register runner on multiple levels (project, group, instance) - this will determine what Runner has access to. I’d suggest to start with instance Runner - this means you will pick up a registration token on instance level (somewhere from Admin panel).

After you’ve successfully completed Runner registration, it should show up as online (green mark) in the Admin > Runners and be able to pick up your jobs.

I didn’t check completely this tutorial page, could be some information is out of date or not clear enough.

Hope this helps! :slight_smile: