Execute CI job via Step Runner service - Docker Executor
Problem
Customers want to run steps using the Docker executor.
Proposal
Execute a CI job via the Step Runner service for executordocker according to https://docs.gitlab.com/ee/architecture/blueprints/gitlab_steps/runner-integration.html#docker
This includes:
- Finding a good place to intercept "regular"
scriptexecution and replace it with delegation to steps. - Creating
RunRequestfrom the Job request (#37413 (closed)). - Creating a connection function that will (ab)use the
docker execprotocol and allow sendinggRPCrequests over it (See !4555 (closed) for working example for executordocker). - Using the step service client library to manage the entire execution lifecycle.
- Step Runner service logs should be streamed to the CI job trace log.
- Step Runner
StepResultscan be/dev/nullfor now.
Notes:
- Assume the
step-runnerbinary exists in the target host, and thesteps-runnerservice is running, listening on a local socket (see https://docs.gitlab.com/ee/architecture/blueprints/gitlab_steps/runner-integration.html#non-goals). - Assume the
step-runnerbinary has aproxycommand.
Edited by Cameron Swords