3 ms·
Related question. Is it possible to use Gitlab CI with a runner running on your own hardware to get unlimited CI time? I'd like to take a machine at my home and
by asdkhadsj 7y ago
Related question. Is it possible to use Gitlab CI with a runner running on your own hardware to get unlimited CI time? I'd like to take a machine at my home and use it to run automated tests/etc, especially because some of the integration tests can be quite long (ie, chewing up CI minutes).
I thought this was possible, but after searching I was often confused. I imagine I'm using poor terms during my search. Thoughts?
- jtwaleson 7y agoYes, have been doing this for a year in autoscaling configuration on gitlab.com Edit: see https://docs.gitlab.com/runner/executors/docker_machine.html https://docs.gitlab.com/runner/executors/docker_machine.html
- tortasaur 7y agoI'm not sure about gitlab.com, but you could always run a self-hosted instance.
- dkns 7y agoIt absolutely is. That's what we do at company I work for. We use free gitlab mintues and when it runs out we use runner running on one of our own local machines.
- n42 7y agoYou can also do this with Buildkite without having to drag along the rest of the cruft that is GitLab. It’s free for individuals, if I recall. Buildkite is an excellent CI tool.
- boleary-gl 7y agoGitLab employee here. Yes - if you bring your own runner to GitLab.com you can run unlimited build minutes on it - the build minutes we count are only those on our shared compute (2000 minutes for free, etc.). The other huge benefit is that you can put that runner behind your firewall without poking any holes - itbjust needs access to GitLab.com and it can run your builds.
- mcintyre1994 7y agoYep, we do this on GitLab.com - it’s one of the most well thought through systems I’ve worked with tbh. We use autoscaling EC2 spot instances for almost everything, incredibly cost efficient and unlimited.
- eblanshey 7y agoJust curious how this works out for you? When I tried this, even when the spot bid was way above current price, it would often be stuck in a pending state since spot instances don't get created immediately. Do you get spot instances to be created immediately on demand somehow?
- mcintyre1994 7y agoYep we see spot instances immediately created - there's no noticeable delay (compared to build times) against having permanent EC2 instances running. For our runners we want to use spot instances, the important part of the gitlab-runner register command are: --executor docker+machine \ --machine-machine-driver amazonec2 \ --machine-machine-options "amazonec2-request-spot-instance=true \ --machine-machine-options "amazonec2-spot-price=" That last one means our bid defaults to the current on-demand price, which seems to get fulfilled immediately. FWIW we're using m4.large instances in eu-west-1a and according to the AWS UI the spot price has been perfectly consistent (at about 1/3 of on-demand) for at least the last 3 months so maybe that consistency is why it works so well for us.
- eblanshey 7y agoThanks, I'll try this out! Has it ever happened that it doesn't get created immediately for whatever reason? And if that happens, will it automatically cancel the request and/or pipeline within X minutes, so that it doesn't randomly get fulfilled like a month later?