CI, который запускает юнит и интеграционные тесты. Также имеется Ansible скрипт, который настраивает окружение, устанавливая необходимые инструменты, а также gitlab-runner. Тесты локально проходят, но некоторые падают на гитлабе. Стоит задача подключиться по SSH, открыть дебаг порт и отладить тесты. Проблема заключается в том, что я не могу пока найти информацию, как правильно это сделать. Вопрос: CI должен быть в процессе выполнения, чтобы я мог подключиться по SSH? К настройкам проекта у меня нет доступа. Было бы здорово, если кто-то объяснил, как вообще производятся такие вот отладки кода удаленно
мне кажется, что здесь скорее дело в идеологии - если код в гитлаб, запускается пайплайн, который что-то передает в среду тестирования и на выходе выдает результаты тестов, то не нужно подключаться туда. нужно вносить изменения в код, котрый хранится в гитлаб и тем самым запускать новые тесты. соотвественно, я предполагаю, что тесты тоже хранятся в гитлабе.
отладка в данном случае плоха тем, что результаты отладки остаются в месте отладки. при следующем старте не факт, что они окажутся там же...
Думаю, отладка здесь поможет понять причины ошибок, а потом тесты перепишу и снова загружу на гитлаб. Во всяком случае планирую так сделать, если получится
тут проще локально все это запустить и отладить... результат залить на гит )
К сожалению, нет :( Локально все работает
значит есть разница! (я проверял на своих проектах, она действительно есть)
Поэтому и хотелось бы разобраться, как поделиться к CI по SSH
Если есть возможность , то в pipeline нужно вставить "заглушку" - some test || sleep infinity Если тест провалился, задача будет ждать бесконечно После этого идём на машину с gitlab runner, смотрим название контейнера в котором выполняется задача, входим в него через exec и идём в папку с тестами Выполняем , дебажим и все такое
Обсуждают сегодня