Gitlab CI exit 1, даже если он успешен - PullRequest
0 голосов
/ 28 мая 2020

У меня есть шаг на моем gitlabci, который запускает php анализ кода. Я использовал собственное базовое изображение для этого шага.

Этот шаг завершился с кодом 1 и не прошел шаг.

Я проверил это, запустив контейнер с моим docker изображением. Команда phpcs работает как шарм внутри базового образа.

Похоже, что gitlab-ci выдает этот код, даже если задание выполнено успешно. enter image description here

это результат работы gitlab-ci.

Я проверяю номер строки файла артефактов и номер строки команд cli (внутри docker контейнера). Они такие же.

Я могу допустить ошибку, но это странная ошибка.

if [[ -f "phpstan.txt" && -s "phpstan.txt" ]]; then echo "exist and not empty"; 

Я пытался разрешить сбой внутри bash скрипта. Я пишу небольшой настраиваемый элемент управления, как указано выше, и помещаю его после команды phpcs внутри моего .gitlab-ci.yml. Но задание не выполнено до этого скрипта.

Версия Gitlab: v11.9.1

Docker изображение: настраиваемое на основе php: 7.2

Мой шаг CI gitlab:

phpcs:
    stage: analysis
    script:
        - phpcs --standard=PSR2 --extensions=php --severity=5 -s src | tee phpcs.txt
    artifacts:
        when: always
        expire_in: 1 week
        paths:
            - phpcs.txt

Думаю, дело не в phpcs. У меня есть аналогичный шаг (например, phpcs), который называется phpstan, также является аналитическим механизмом. Выдает точно такую ​​же ошибку в той же строке скрипта

...