Запуск скрипта Python с помощью команды execute из оболочки в Jenkins - PullRequest
0 голосов
/ 03 июля 2018

Задание Jenkins настроено так, чтобы оно проверяло последнюю версию git-репо который выполняет некоторый код Python. Репозиторий git проверен на нашем лабораторном компьютере linux и работает там.

В скрипте мы проверяем состояние некоторых сетевых интерфейсов labpc. Я сделал небольшой скрипт, который выполняет следующие строки, но выдает ошибку типа «нет файла или каталога». Команда в порядке, но она терпит неудачу, потому что linux env не виден. Странно то, что у нас около 10 тестовых наборов, и в 6 из них он работает отлично, а 4 - неуспешно, и всегда не работает только для них. Последовательность событий одинакова во всех тестовых случаях ...

res = subprocess.check_output(['ip', 'link', 'show', 'dev', '<interface name>'])
logger.info(res)

Скрипты работают, когда выполняются локально, поэтому за этим стоит проблема с jenkins. У кого-нибудь есть какие-либо советы, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 21 сентября 2018

Проблема решается путем добавления sudo перед командой. Четное хотя команда не требует прав sudo, она требует когда бегаешь с Дженкинсом.

Вы можете открыть в jenkins узел, где вы можете выполнять на сервере команды groovy и проверить, работает ли он.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...