Принудительное повторное выполнение неудачного теста Gitlab или отключение кэширования теста - PullRequest
0 голосов
/ 21 ноября 2019

Я использую Gitlab и использую со следующим описанием теста:

   ldap:
   stage: test
   script:
     - cd ZEDAT-HPC-LDAP
     - ls -la /usr/share/perl5/Test
     - prove -l t
   tags:
     - perl

Этот тест изначально не удался, потому что стандартная библиотека Perl, используемая тестом, не была установлена ​​на сервере Gitlab. После того, как я установил отсутствующую библиотеку, тест все равно не прошел, и ls в тесте отображало старое состояние файловой системы. Очевидно, что тест не был перезапущен, и была показана кэшированная версия результата теста.

Похоже, проблема в том, что установка отсутствующей библиотеки ничего не меняет в репозитории, и поэтому Gitlab считает, что все в порядке, чтобы не перезапускать тест. После того, как я изменил тест, вставив date после того, как ls тест прошел успешно.

Итак, как я могу принудительно запустить тест или, как альтернатива, как отключить механизм кэширования?

[Обновление]

Выходные данные теста:

Skipping Git submodules setup
$ date
Fri Nov 22 11:51:33 CET 2019
$ cd ZEDAT-HPC-LDAP
$ ls -la /usr/share/perl5/Test
total 24
drwxr-xr-x  4 root root 4096 Apr 23  2018 .
drwxr-xr-x 49 root root 4096 Jun 21 06:09 ..
drwxr-xr-x  3 root root 4096 Apr 23  2018 Perl
drwxr-xr-x  2 root root 4096 Apr 23  2018 Pod
-rw-r--r--  1 root root 7533 Jul  4  2015 Pod.pm

, в то время как вы вошли на сервер как пользователь gitlab-runner Я получаю

gitlab-runner@sc-git:~$ date
Fri Nov 22 12:55:53 CET 2019
gitlab-runner@sc-git:~$ ls -la /usr/share/perl5/Test/
total 68
drwxr-xr-x  6 root root  4096 Nov 21 09:53 .
drwxr-xr-x 54 root root  4096 Nov 21 09:53 ..
-rw-r--r--  1 root root 11301 Dec 10  2014 Fatal.pm
drwxr-xr-x  2 root root  4096 Nov 21 09:53 MockObject
-rw-r--r--  1 root root 23464 Dec  3  2016 MockObject.pm
drwxr-xr-x  3 root root  4096 May 31  2018 Net
drwxr-xr-x  3 root root  4096 Apr 23  2018 Perl
drwxr-xr-x  2 root root  4096 Apr 23  2018 Pod
-rw-r--r--  1 root root  7533 Jul  4  2015 Pod.pm

Как это может быть?

1 Ответ

1 голос
/ 22 ноября 2019

Вы можете повторно запустить конвейер с помощью пользовательского интерфейса (CI / CD> Pipelines):

enter image description here

и выберите ветвь для запуска. Или же можно использовать API

Очистка кэша вручную , нажав кнопку «Очистить кэши бегуна» рядом с «Запуск конвейера»:

enter image description here

...