Первая работа на втором этапе содержит состояние предыдущей работы в GitLab - PullRequest
0 голосов
/ 14 февраля 2020

Я столкнулся с проблемой, когда первое задание на моей стадии тестирования получает полное состояние моего предыдущего задания по сборке, когда я этого тоже не ожидаю. Я максимально упростил проблему, чтобы все еще воспроизвести проблему. По сути, сборка запускается и проверяет мой репо. 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

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020

изображение: $ DOCKER_REGISTRY / my-image: последняя

stages: # <-- add them all
  - build
  - test1
  - test2

build:
    stage: build
    tags:
        - linux-runner
    script:
        - ls -al

test-one:
    stage: test1 # <-- change this
    tags:
        - linux-runner
    variables:
        GIT_STRATEGY: none
    script:
        - ls -al

 test-two:
    stage: test2 # <-- change this
    tags:
        - linux-runner
    variables:
        GIT_STRATEGY: none
    script:
        - ls -al

В вашем случае test-one & test-two используют одну и ту же "среду" типа.

При настройке две разные стадии, у них будет своя среда

0 голосов
/ 14 февраля 2020

Это, кажется, вызвано моим использованием GIT_STRATEGY: нет. Удалив переменные, я снова начал получать ожидаемое поведение.

...