Recently I started using Gitlab from previously using Github for my personal work. I felt comfortable using it these days, until I found Gitlab Runner. i am looking for it is documented and quite confused with it, so is there someone who can help me explain what is Gitlab Runner? what is the use? and what's more I know Gitlab has several Runner categories:
Thank you very much :D
If you are just getting started with Gitlab, I don't recommend using your own runners for your CI/CD, and suggest just using the shared runners that Gitlab provides for all users of all tiers. As for what they are, runners run your pipelines; everything from building, testing, and deploying your code.
The runners poll Gitlab using an API to check if there are any pending jobs that this runner can process. Some reason they may not be able to are the executor used (docker, shell, kubernetes, etc.), tags on the runner compared to tags on a job, and a few others. When it finds a job, it clones or fetches the branch/tag/commit that caused the Pipeline, depending on a few Variables you can configure. It then runs the job you’ve defined in a .gitlab-ci.yml
file in the root of your project.
For more information on Gitlab CI/CD, check out the docs here: https://docs.gitlab.com/ee/ci/quick_start/.
Of course, if you're self-hosting Gitlab instead of using gitlab.com, you or your admins must create at least 1 runner to use CI/CD.