you mean .gitlab-ci.yml, didn’t you?
From my point of view you misunderstood the way gitlab runners work. The idea is that you can have an unlimited number of runners. Each runner have tags. These tags define the ability of the runner to build a certain job. If your job for example needs nodejs and grunt to be build you should use these tags in your .gitlab-ci.yml.
Then GitLab CI searches for runners whith the desired tags and use them (I don’t know the logic which is used to select a runner, but you can not define which one will be used).