2015-10-01 4 views
0

Кто-нибудь знает, как я могу установить значение переменной среды на основе команды терминала unix в jenkins с использованием переменной ввода или каким-либо другим способом. Например, CurrentBranch = ls /project/folder | grep my_name. Кажется, это не работает. Я хочу эту команду, ls/project/folder | grep my_name, которое должно быть оценено, и результат должен быть установлен в CurrentBranch.Настройка среды Jenkins Значение переменной с помощью оценки команды

Некоторые причины CurrentBranch значение переменной никогда не получает оценку, а она всегда имеет значение, как это: ls /project/folder | grep my_name

Любой знает, что я делаю неправильно.

Спасибо.

ответ

0

Я не думаю, что вы можете сделать это таким образом, чтобы он был доступен любой Задача Jenkins, которая написана.

Вы можете написать свою задачу Jenkins так, чтобы все они выполняли сценарий оболочки, а затем ваш вопрос сводится к поиску подходящего файла rc (мы используем, например, zsh как оболочку и имеем специальный rc-файл просто для Jenkins), и внутри этого файла, вы можете настроить свою среду обычным способом, т.е.

export $(ls /project/folder | grep my_name) 

(конечно, оглавлению вывод логинсервера таким образом это не самая лучшая идея, но это другая тема)

0

Вы можете сохранить CurrentBranch в файле env и вставить этот файл в ваше задание, используя EnvFile Plugin

echo "CurrentBranch=`ls /project/folder | grep my_name`" > /tmp/env 
0

В конфигурации задания jenkins установите флажок «Подготовьте среду для запуска».

выберите ниже флажков Keep Переменные Дженкинс среды
Keep Дженкинс Переменные сборки

в разделе «Сценарий Content», запустите следующую команду, чтобы создать файл свойств

echo "CurrentBranch=`ls /project/folder | grep my_name`" > /tmp/jenkins_job.prop 

затем в «Свойства Путь к файлу ", укажите этот файл свойств с полным именем пути.

Теперь переменная CurrentBranch будет доступна через сборку и может быть доступна с помощью $ {CurrentBranch}.

+0

спасибо, что это сработало. – helloworld

+0

helloworld, если ответ вам поможет. Можете ли вы отметить правильный ответ, пожалуйста? –

Смежные вопросы