The runner helper is available in the build container
Problem
Currently, the step-runner is deployed into the build container for docker-executor Runners by fetching the step-runner image, extracting the step-runner binary from the image, attaching it to a volume, and making the volume available to the build container. This is considered too inefficient for the initial implementation.
Proposal
The gitlab-runner-helper binary, which is a step-runner as of (#283 (closed)), should be deployed to the build container so it can be used as the step-runner.
In scope
- Deploy the runner helper binary to the build container
- Steps is only supported by the docker-executor. It's okay if the initial implementation only copies the binary to the build container when using the docker-executor, if it not much work to make it work for other executors, please do so
- The step-runner commands
serveandproxyshould be called via the runner helper, not the step-runner - Stop doing what we currently do
- fetching the step-runner image, copying the step-runner binary to a volume, attaching the volume to the build container
- Note: We might still expose the runner helper binary via separate volume to the build container if the implementation we settle on goes that route
- Update the steps documentation for places where we mention the step runner binary, as it now is shipped as part of the helper binary
Edited by Hannes Hörl