
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

Step 2: Download the GitLab Runner
curl -LJO "https://gitlab-runner-downloads.s3.amazonaws.com/latest/deb/gitlab-runner_amd64.deb"

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

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

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

You can verify the GitLab Runner from your GitLab 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:

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:

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.