Earlier quoted context omitted.
Gitlab is awesome, its impressive what you get for free. Runners are nice, can run in powershell, bash, docker, vm , you name it. The main problem with runner is that you cant easily execute build script on the host. Exec command isn't very useful and AFAIK deprecated.
I'm confused at what you mean here. If you want to run things on the host you can run a bash runner, and you have full access to the machine. What do you want to do on the host?
This is not the same as taking a bash/powershell script and running it locally on runners host because gitlab inject into shell some stuff like secrets, env vars, artifacts, caches etc.
Some errors are VERY hard to reproduce when not on local executing environment.