Mounting build dir into services not working on gitlab.com

Overview

I want to run a selenium-server in the services part of gitlab-ci.yml. It should take screenshots of "storybook"-stories. Storybook can either run as server on the build-container itself, or it can create static HTML files in a directory on the build server.

I thought it would be easy to create these HTML-files and access them from the selenium image via the path /build/{user}/{project}. The docs say that the build-directory is not only mounted into the build-container, but also into the services declared in the gitlab-ci.yml file.

However, this only seems to be the case in the docker-runner, but gitlab.com uses a docker+machine runner. I have create a test-project on https://gitlab.com/nknapp/gitlab-ci-test that prints out the environment of one service and tries to list the contents of /builds/nknapp/gitlab-ci-test.

The result is, in the log, the output:

2020-06-05T08:59:58.180517377Z find: '/builds/nknapp/gitlab-ci-test/': No such file or directory

Key question(s)

  • Should it be possible to access the build-directory in the service?
  • Is this a bug, a missing feature, not possible or intended?

GitLab response

  • This is expected behavior as it is a result of how the docker executor flow works.
Edited by Darren Eastman