У меня есть этот файл gitlab-ci:
services:
- docker:18.09.7-dind
variables:
SONAR_TOKEN: "$PROJECT_SONAR_TOKEN"
GIT_DEPTH: 0
MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode"
MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"
DOCKER_HOST: "tcp://docker:2375"
DOCKER_DRIVER: overlay2
sonarqube-check:
image: maven:latest
stage: test
before_script:
- "docker version"
- "mkdir $PWD/.m2"
- "cp -f /cache/settings.xml $PWD/.m2/settings.xml"
script:
- mvn $MAVEN_CLI_OPTS clean verify sonar:sonar -Dsonar.qualitygate.wait=true -Dsonar.login=$SONAR_TOKEN -Dsonar.projectKey="project-key"
after_script:
- "rm -rf $PWD/.m2"
allow_failure: false
only:
- merge_requests
По какой-то причине docker в docker служба не находит двоичные файлы для docker (версия docker * Команда 1005 *, строка 16):
/bin/bash: line 111: docker: command not found
Мне интересно, есть ли способ сделать это внутри файла gitlab-ci, потому что мне нужно запустить docker для тестов, если есть является изображением, которое содержит двоичные файлы maven и docker или, если мне придется создать собственное изображение docker.
Это должно быть все в один этап, я не могу разделить его на два этапа (или, по крайней мере, я не знаю, как скомпилировать в maven на одном этапе и запустить тесты с изображением docker на другом этап)
Спасибо!