Hi there, great video to get started with gitlab runners, I ran into some issues running from scratch on Windows and this is how I worked through them: 1. Runner does not connect with gitlab: there can be many reasons this happens, but for me it was due to registering the runner before having completed the docker desktop installation in full, including the restart. Runners were able to connect after that, but I did have to run the command *gitlab-runner-windows verify* 2. Executor requires OSType=windows, but Docker Engine supports only OSType=linux, as the error itself says, this is due to selecting docker-windows as the runner executor instead of simply docker, you can change the executor on a runner but it might be quicker to register a new one with the right executor type. 3. Runner stuck pulling docker image ruby:2.6 - I was doing all this on a random Windows laptop I had lying around, which had a pretty finicky WiFi connection and timed out several times trying to pull docker images. You can just retry when your runner host internet connection is better, what I did is a manual docker pull ruby:2.6 before running the pipeline. Not a great solution in actual CI/CD but in those cases I guess it's better to have at least a partial dockerhub mirror or your internal docker registry that is reachable and fast to connect to. For context, I installed git for windows and docker desktop right before gitlab-runner, and chose to work with linux docker containers. That was all I needed, but for folks out there don't forget to do all the command-line stuff in an elevated shell/powershell session. I would massively recommend to use Linux instead if you can
Hello, Valentin. I have a question. Gitlab already has shared runners. Why install your own runner? Is it safe to use shared runners provided by Gitlab by default? When do you need to install your runner? Thank you!
Yes, you can get a significant performance advantage with your own runners and you can have dedicated hardware for your needs (eg. more GPU or memory or... )
Followed all instructions here and successfully added a gitlab runner in Gitlab project settings. But when I run pipelines, they are stuck in "pending state". The gitlab-runner is not picking up the jobs, anyone can help?
Nice intro! I have a doubt which might be stupid, how does the gitlab connect to the runner on your local to run the pipeline? Should there be a connectivity of my machine on network and the firewall has to be turned off? please suggest , Also redirect me if there's a link on gitlab which answers this Thanks!
Great question. AFAIK, the communication is done over HTTPS using the standard port. I think for this reason, this does not need any additional firewall settings, but this depends from case to case. Did it work for you?
Hi, what is the meaning of "Running on server"? How it is implemented? Below is the snippet of the pipeline log:- Using Shell executor... 00:00 Running on server...
Thanks for your helpful video. I just want to know which infrastructure is "more cost effective" and "more reliable". I want to use AWS for Gitlab configuration. Only 1000 minutes on gitlab.com. I think the quota is not enough. therefore there are 2 options on the gitlab documentation page, one of them "Auto-Scale GitLab Runner on AWS EC2" and "Auto-Scale GitLab CI on AWS Fargate". So which one do you think should I install?
Hi Valentin, // I HAVE A QUESTION! my GitLab runner is not picking jobs ,it is registered ,it is running and while running a pipeline it runs couple of jobs and stuck in pending state .if i try to run any other job it goes into pending .. only solution i found is GitLab-runner run ,command . do you know what could be the issue and how can i permanently fix this ? also it started happening only after i install docker on the runner machine (ec2 rhel)
Thanks for the video. How to deploy via cicd if machine is behind the windows bastion host. My aws instance is behind windows bastion. Is this task possible. Currently my cicd is deploying to dev environment(public IP), the requirement is to deploy to prod environment(privateIP)
Getting the below error when I try to run on windows machine. Please suggest some tips. Thank You ERROR: Job failed (system failure): prepare environment: failed to start process: exec: "pwsh": executable file not found in %PATH%.
Thanks for this video, I'd like to know how can I run my own private docker image from AWS ECR instead of that default (ruby:2.6 ) image? Should I use shell mode and download through a shell script?
What if you get a docker login error? One thing I find ot hard to understand is that is it possible I can have Gitlab project on Gitlab.com while my runner is on my virtual machine and how will my runner understand that there is a commit on my project and create a docker image on my VM
ok, tested it. It is working now. My latest setup is following: - Project is on my Gitlab account (Hosted by Gitlab.com) - The runner is running on my virtual machine - When I commit a file in my project the runner understands it and creates a docker image on my virtual machine. Thank you for your video :)
I am using shell, how to added another runner? I need 2 runners and make one active and other pause. Also I want make this as highavaiable if one runner down, other should pick up
The idea is to add runners on different machines. I don't know of a way to pause a runner. Since the machine with the runner already has allocated resources, just have two runners active at the same time. If one dies, GitLab will only use the one working.
Hi, nice video. If i use docker via the Cloud Version i can run a runner on my local maschine or do i have to use a server in the internet? If not, how does it work that gitlab hast access to my local maschine?
3:03 right after this, there is now optional maintenance note for the runner and i can't skip when i try to press enter it just does a newline. How can i skip it ?
Hi, Created runners using command in Linux and it's active also. But when I do push or commit changes to gitlab cicd pipeline is triggered but status shows pending for some time and gets failed. What is the reason? Could u please help me
Hi Valentin! thanks for all the knowledge just wanted to know the difference between /etc/gitlab-runner/config.toml and /srv/gitlab-runner/config/config.toml whenever i am registering gitlabrunner it's being updated in /etc/gitlab-runner/config.toml which i am able to list as well what is the role of /srv/gitlab-runner/config/config.toml how will i overwrite the same
Even I am looking for the same. Right now my runner is running with gitlab-runner user. But I wanna know if there is a way to use user1 to execute project 1 user2 to project 2 insted of gitlab-runner @Valentin. Can you u help?
Why do you need two runners on the same machine? Typically a runner can run 4 concurrent jobs by default. You can change that setting. docs.gitlab.com/runner/configuration/advanced-configuration.html
Neat explanation :) But I ran into problem when I run this command: sudo gitlab-runner install Error: FATAL: Please specify user that will run gitlab-runner service
It is hard to know what the problem is in this case. Join the Facebook community (facebook.com/groups/1830385683880815) and ask your question there. Consider adding more details, including screenshots. Thanks for understanding.
Sir in my remote server im installed the gitlab runner and after my gitlab-runer registration the gitlab repo ci/cd runners stores ipv6 address. but i need to fetch ipv4. what i will do for this problem ?
It is hard to know what the problem is in this case. Join the Facebook community (facebook.com/groups/1830385683880815) and ask your question there. Consider adding more details, including screenshots. Thanks for understanding.
Hi what shoud i do for this problem ? ERROR: Registering runner... failed runner=PzKU6zJ8 status=couldn't execute POST against gitlab-test.test.ir/api/v4/runners: Post gitlab-test.test.ir/api/v4/runners: Bad Gateway PANIC: Failed to register this runner. Perhaps you are having network problems