Как на самом деле работает gitlab-ci?

#continuous-integration #gitlab-ci

#непрерывная интеграция #gitlab-ci

Вопрос:

Какие команды совместимы внутри файла gitlab-ci.yml. Если все команды оболочки совместимы, как он узнает, когда команда завершается неудачно. то есть, если я запускаю тест, который выводит, какие тесты завершаются неудачно и успешно, как ci интерпретирует эту информацию для обнаружения сбоя.

Ответ №1:

Он распознает это по статусу завершения каждой команды:

Каждая команда возвращает статус выхода (иногда называемый статусом возврата или кодом выхода). Успешная команда возвращает 0, а неудачная возвращает ненулевое значение, которое обычно можно интерпретировать как код ошибки. Исправные команды, программы и утилиты UNIX возвращают код выхода 0 после успешного завершения.

Итак, если ни одна из команд не возвращает ненулевое значение, сборка пройдет как успешная. Вы должны иметь возможность имитировать сбой, вызывая exit 1 непосредственно в своей работе:

 your_job:
  script:
    - exit 1