BUG/FEATURE: docker-registry namespace problem in conjunction with .gitlab-ci.yml

Problem to solve

Issues such as https://gitlab.com/gitlab-org/gitlab-ce/issues/18072 and https://gitlab.com/gitlab-org/gitlab-ce/issues/17959 solved the problem where the Docker Registry did not recognized paths containing upper case characters. Despite these tickets long being closed, the solution did not anticipate the problem found when using .gitlab-ci.yml file on such a project. In this, the user would like to refer to an image created by and for the project. This allows the project to be cloned (along with the .gitlab-ci.yml file) and the CI process to work as expected in the clone, including the automatic pushing and pulling of the image to / from the docker registry.

However, because the Gitlab CI variables use the project-path "as is", and because that path contains uppercase characters, the above use-case fails.

Further details

I have lodged a complaint/ feature request with Docker here. But regardless, for compatibility with older versions, Gitlab needs to provide a work-around.

Proposal

I would propose a shell-like or ruby-like solution, where variable names can be modified with directives or functional primitives, but that might be a little too complex for a 1-off problem. So something like $CI_PROJECT_NAMESPACE_LC and $CI_PROJECT_NAME_LC and/or $CI_PROJECT_PATH_LC would suffice.I would propose a shell-like or ruby-like solution, where variable names can be modified with directives or functional primitives, but that might be a little too complex for a 1-off problem. So something like $CI_PROJECT_NAMESPACE_LC and $CI_PROJECT_NAME_LC and/or $CI_PROJECT_PATH_LC would suffice.

Assignee Loading
Time tracking Loading