@Filex
Начинающий разработчик.

Как определить переменные в bash-скрипте запускаемом Jenkins?

У меня есть условный скрипт, который проверяет процесс на порту 8080, записывает его id в переменную и убивает по значению этой переменной. При запуске через стандартный шелл все работает отлично. Но когда этот файл я запускаю через jenkins (в секции build -> execute shell прописываю полный путь к файлу), то эта переменная оказывается пустой.
Вот пример скрипта:
#$/bin/sh
for i in 1 2 3 4 5
do
  echo "Looping ... number $i"
done

pid="$(/usr/bin/lsof -ti tcp:8080)"
echo $pid


при запуске из баша все переменные показываются, при запуске через jenkins показываются только переменные от 1 до 5, а 'pid' не отображается.
Как правильно определить переменную?
  • Вопрос задан
  • 266 просмотров
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега bash
software engineer
сперва через дженкинс выполни просто
/usr/bin/lsof -ti tcp:8080

убедись что команда возвращает PID
а потом уже решай это команда неработает или переменная не передается
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Filex Автор вопроса
Начинающий разработчик.
Действительно не работает команда lsof; Буду смотреть в этом направлении, спасибо!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы