Переменная Jenkins Inject Environment работает с пакетной командой, но не powershell - PullRequest
0 голосов
/ 24 января 2019

Я имею дело с очень странной аномалией в Дженкинсе, которая не имеет для меня никакого смысла.По сути, Jenkins ведет себя иначе для команды powershell, чем для пакетной команды.

Моя цель - передать переменную среды (или параметр) из одного задания Jenkins в другое.Однако эта передаваемая переменная генерируется во время выполнения первого задания.

Я создал поддельный проект для проверки передачи переменных, и я смог сделать это, добавив шаг сборки, чтобы отобразить переменную вФайл env.props на узле, а затем использовал плагин с параметризованным триггером для вызова следующего задания.Мне удалось добиться того, чтобы это отлично работало в этом тестовом сценарии, но когда я попытался реализовать те же шаги в реальном задании на сборку (которое основано на сценариях powershell), это не сработало.

После, многоМетод проб и ошибок Я обнаружил, что когда я использую пакетную команду Windows, чтобы отобразить переменную в файле props, а затем внедрить переменную в работу - она ​​работает отлично.Но когда я делаю то же самое с командой powershell, она не внедряет переменную обратно в работу, даже если я использую точно такую ​​же строку кода.Он по-прежнему записывает переменную в файл, но Дженкинс не будет «повторно внедрять» эту переменную обратно в переменную env задания, даже если для этого я использую точно такой же шаг.

Команда по сути такая:

echo Testvar=Somevalue > C:\Jenkins\env.props

Оба достаточно записывают строку в файл props, но после выполнения команды powershell Дженкинс не будет воспринимать txt из прогона.Как будто powershell кодирует его так, что Дженкинс не может его прочитать, но выглядит для меня точно так же.

Есть идеи?

1 Ответ

0 голосов
/ 24 января 2019

Оказывается, это была кодировка!

echo "string" > file.txt 

не дает тот же результат в пакетном режиме, что и powershell.

Переключение на

echo "string" | out-file -encoding ASCII file.txt 

сделал свое дело.

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