.gitlab-ci.yml - add var for ${CI_REGISTRY_IMAGE_SERVICE_SLUG}

Description

For tests with the actually compiled Docker-Image, this can be used as a service. However, with https://docs.gitlab.com/runner/executors/docker.html#accessing-the-services the services must be accessed with a kind of slug.

Proposal

Add a separate CI-variable like

CI_REGISTRY_IMAGE_SERVICE_SLUG=${CI_REGISTRY%%:*}__${CI_PROJECT_NAMESPACE}__${CI_PROJECT_NAME}
#
# CI_REGISTRY_IMAGE_SERVICE_SLUG is just an example

Links / references

#Example:

build-docker-image:
  image: docker:latest
  stage: build
  tags:
    - docker
  script:
    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - docker build -t ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID} .
    - docker push ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}

test:
  image: my.own.registry/build-environments/tests
  variables:
    ENABLE_SSH: 'true'
  services:
    - ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}
  stage: tests
  tags:
    - docker
  script:
    - ./run-some-tests.sh ${CI_REGISTRY_IMAGE_SERVICE_SLUG}
Edited Mar 28, 2018 by Marc Bihlmaier
Assignee Loading
Time tracking Loading