Silly question: What are "CI pipeline minutes"? I read their FAQ which just says it's minutes used on their "runners", which only changes the question to "What are runners, and where do they fit in?"
I figured out CI means Continuous Integration, which is something I don't use, nor want to. I'm mainly just interested to know if this comes in to play if I just want to use GitLab to publicly share code like on Github.
I assume, not an expert here, that GitLab’s runners spin up when you make a push that triggers a build.
I’ve set up my own pipeline with Jenkins, Docker Registry, and Gitea and when I push a change to Gitea, a hook is called in Jenkins which starts executing relatively simple bash scripts for building images, pushing them into the Docker Registry, fetching them on my server, and restarting them.
Runners are almost certainly the equivalent of Jenkins here. A hook is called, and Gitlab’s runner starts executing some script to build images and assets, and deploys them for you.
If you add in tests things can probably get pricey.
But I bet you can have multiple runners building different parts of your system in parallel which is why their by the minute charging scheme makes sense (as opposed to number of runners required per build or something).
And it seems fair to charge you a combined total of ten minutes of processing time for two parallel runners, one of which started at the 0th second and ran for one minute and one which started and ran for 9 minutes.
If you don’t use it now, it can be a lot of initial work to set up, but watching your CI/CD pipeline chug along and deploy your work can be really really satisfying.
Was definitely overkill for my personal home page but really enjoyable to build and have it come together.
The runner is the piece of software that executes pipelines. You can install it on any machine and connect that to a gitlab instance. On hosted gitlab, they provide the runners, but limit how long you can these runners execute, which they measure in minutes.
Just an assumption, but maybe the time each stage/step takes? Maybe there are improvements that can be made to Gitlab to speed them up, or something to that affect. (I don't know the specifics so this is completely a guess)
For anything I'd put on Git*b, it's largely unnecessary, as they'd just be tiny pet projects that only I would ever update. I'm surprised when I even get someone looking at my repos, let alone contributing to them.
I figured out CI means Continuous Integration, which is something I don't use, nor want to. I'm mainly just interested to know if this comes in to play if I just want to use GitLab to publicly share code like on Github.