Я столкнулся с проблемой, когда первое задание на моей стадии тестирования получает полное состояние моего предыдущего задания по сборке, когда я этого тоже не ожидаю. Я максимально упростил проблему, чтобы все еще воспроизвести проблему. По сути, сборка запускается и проверяет мой репо. ls -al распечатывает рабочий каталог, в котором находится мой выписанный репозиторий. test-one запускает, пропускает извлечение git и печатает рабочий каталог, который содержит извлечение git из предыдущего задания по сборке. test-two запускает, пропускает извлечение git и печатает рабочий каталог, который содержит пустой каталог, как и ожидалось.
Мои вопросы: неправильно ли я сконфигурировал мой файл .gitlab-ci.yml, не хватает ли моих ожиданий понимания того, как должен работать GitLab, неправильно ли сконфигурирован GitLab или бегун, или это ошибка?
На заметку:
- Я использую версию GitLab: 12.6.4-ee
- Я НЕ администратор GitLab
- Работы не выполняются зависят друг от друга, и сценарии просто печатают текущий рабочий каталог.
- Мой docker образ - это просто чистый базовый образ Linux дистрибутива, в котором установлены только обычные Linux команды.
- linux -runner - это GitLab-runner, работающий в качестве службы на моем Linux сервере.
- Я отключаю git от проверки моего репо в тестовых заданиях, чтобы убедиться, что извлечение из задания сборки присутствует в test-one.
Ниже упрощен мой файл .gitlab-ci.yml:
image: $DOCKER_REGISTRY/my-image:latest
build:
stage: build
tags:
- linux-runner
script:
- ls -al
test-one:
stage: test
tags:
- linux-runner
variables:
GIT_STRATEGY: none
script:
- ls -al
test-two:
stage: test
tags:
- linux-runner
variables:
GIT_STRATEGY: none
script:
- ls -al