Skip to content

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

  1. 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
  2. The step-runner commands serve and proxy should be called via the runner helper, not the step-runner
  3. 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
  4. 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