Linux Windows

How to Setup GitLab Runner on WSL

Setup GitLab Runner on Windows WSL

In this post, I will show you the steps on how to Setup GitLab Runner on WSL. Windows Subsystem for Linux is a feature of Windows that allows developers to run a Linux environment. It takes away the burden of setting up a separate virtual machine or dual booting.  It is assumed that you already have WSL set up on your Windows Machine. If you have not done so, review the post on Installing Ubuntu 20.04 LTS on Windows via WSL. Please see How to uninstall GitLab from your Windows device, WSL: What is Windows Subsystem for Linux, How to install Windows Subsystem for Linux on Windows 11 via the Command line, and Microsoft Store, and hoe to fix “WSL Error 0x8007019e: WSL Registrater Distribution failed with error“.

What is GitLab?

Similar to GitHub, GitLab offers a location for online code storage and capabilities for issue tracking and CI/CD. The repository enables hosting different development chains and versions and allows users to inspect previous code and roll back to it in the event of unforeseen problems. Teams can reduce product lifecycles and work more productively with the aid of GitLab, which benefits customers. Users of the program are not required to control tool authorizations individually. Everyone in the organization gets access to every component if permissions are only specified once and then, you can archive, unarchive or delete a GitLab Project.

Using GitLab comes with some additional benefits. It provides team members with the ability to collaborate throughout every stage of the project. GitLab enables tracking from conception to completion to assist developers in automating every step of the DevOps lifecycle and achieving the best outcomes. GitLab’s extensive feature set and open access to code blocks have drawn more and more developers to the platform. With GitLab, you can Install Docker Desktop and register GitLab-Runner with Docker-windows executor.

Setting up GitLab Runner

If you’re not self-hosting, and are instead using GitLab’s online SaaS solution, then you’ll need to pay for CI/CD minutes.  Using self-hosting requires setting up a GitLab Runner on a server and configures it as a build agent. This is ideal for auto-scaling multi-server deployments. It is available as a binary as well as a Kubernetes deployment, which may

This may be used for an auto-scaling multi-server deployment and is available as binary and Kubernetes deployment. Let’s get started by setting up the GitLab Runner on our machine following the steps below. You can also learn how to unregister a GitLab Runner.

Step 1: Launch the Ubuntu 20.04.16 LTS using the WSL through the Windows Command Prompt

Launching Ubuntu through WSL

Step 2: Download the GitLab Runner

curl -LJO ""
Downloading GitLab Runner

Step 3: Install the file using by running:

sudo dpkg -i gitlab-runner_amd64.deb

Next, you’ll need to configure it with the URL and token found in /admin/runners. To do this, run the below command:

sudo gitlab-runner register
Registering GitLab Runner

Step 4: Start the GitLab Runner

sudo gitlab-runner start

Run sudo service gitlab-runner status to verify that the GitLab runner is running.

/etc/init.d/gitlab-runner: invalid arguments
[FAIL] could not access PID file for GitLab Runner ... failed!

If you receive an an error as shown above proceed to modify the /etc/init.d/gitlab-runner file running he below command by the /usr/bin/gitlab-runner as shown in the screenshot below:

sudo nano /etc/init.d/gitlab-runner
Modifying the /etc/init.d/gitlab-runner file

Now run the sudo service gitlab-runner status command to verify that GitLab runner is running. You can also confirm the version by running :

sudo gitlab-runner -version
GitLab Service

You can verify the GitLab Runner from your GitLab project:

Verifying GitLab Runner in the Project

You can also verify the Runner by running sudo gitlab-runner list and can also create another GitLab Runner with with the same token:

List of GitLab Runners

To prepare the runner for CI/CD jobs, you will need to open the settings for the runner, and set proper tags for it that will get picked up by matching gitlab-ci.yml config files. If you do not want to bother about tags, you can check the box that indicates here to pick up untagged jobs:

Managing Tags in GitLab Runner
The next thing is to configure your projects to use this runner. That's all!

I hope you found this blog post helpful on how to Setup GitLab Runner on WSLL. Please let me know in the comment section if you have any questions.

Notify of

Newest Most Voted
Inline Feedbacks
View all comments
Ainsof So'o
Ainsof So'o
3 months ago

Hi thanks for the tutorial. I noticed that you selected docker for the gitlab runner but you didnt include a step/note to install docker. Is docker required when you select it for the gitlab runner?

Last edited 3 months ago by Ainsof So'o
Would love your thoughts, please comment.x