2014-01-15 2 views
0

У меня есть проект A и нисходящий проект B, который принимает параметр файла. Проект B запускается (от Parameterized Trigger Plugin) к A, когда A завершен. Есть ли способ предопределить параметр файла (например, файл свойств файла), поэтому, когда проект A-> B, B сможет получить файл без необходимости выбора вручную?Jenkins trigger parameter plugin - параметры файла

ответ

0

Для этого можно использовать Multijob plugin.

Простая реализация для вашего примера будет иметь третий (многоярусный) проект, который затем имеет две фазы многоячейки с вами по одному проекту в каждом из них. Вы можете указать поведение на код выхода для каждой фазы и использования параметров с помощью кнопки «Дополнительно» на странице конфигурации


EDIT Плагин multijob не поддерживает параметры файла (например, файл передается из браузер), который является позором

Однако вы можете подделать его по

ПРОЕКТА A (__upstream)

где params.txt является Параметр файла

upstream job

Проект B (__downstream)

где params.txt находится в параметре Файл

downstream job

результаты при срабатывании от А

Started by upstream project "__upstream" build number 8 
originally caused by: 
Started by user anonymous 
[EnvInject] - Loading node environment variables. 
Building on master in workspace /var/lib/jenkins/workspace/__downstream 
[__downstream] $ /bin/sh -xe /tmp/hudson4094819031189787422.sh 
+ touch params.txt 
[EnvInject] - Injecting environment variables from a build step. 
[EnvInject] - Injecting as environment variables the properties file path 'params.txt' 
[EnvInject] - Variables injected successfully. 
[__downstream] $ /bin/sh -xe /tmp/hudson1756581135746292166.sh 
+ cat params.txt 
+ env 
+ grep TEST 
+ sort 
TEST1=abc 
TEST3=xyz 
+ rm params.txt 
Finished: SUCCESS 

результаты при запуске непосредственно

Started by user anonymous 
[EnvInject] - Loading node environment variables. 
Building on master in workspace /var/lib/jenkins/workspace/__downstream 
Copying file to params.txt 
[__downstream] $ /bin/sh -xe /tmp/hudson5504289990867483427.sh 
+ touch params.txt 
[EnvInject] - Injecting environment variables from a build step. 
[EnvInject] - Injecting as environment variables the properties file path 'params.txt' 
[EnvInject] - Variables injected successfully. 
[__downstream] $ /bin/sh -xe /tmp/hudson8534892071758952425.sh 
+ cat params.txt 
TEST1=abc 
TEST3=xyz 

+ env 
+ sort 
+ grep TEST 
TEST1=abc 
TEST3=xyz 
+ rm params.txt 
Finished: SUCCESS 

Вы должны коснуться файла в нижнем течении, или иначе плагин EnvInject давится не файл и не забудьте удалить файл (или переименовать), поэтому следующий запуск не повторно значения

+0

Он, кажется, не добавляет дополнительной функциональности специально для ПАРАМЕТРА ФАЙЛА, однако, не могли бы вы посоветуете? – ksdnlee

+0

Вы правы для параметров файла, однако я обновил свой ответ с помощью работы – KeepCalmAndCarryOn

+0

Не наступил ли переход на параметр params.txt и ввел переменные среды в резервную копию Project B? «Использовать свойства из файла» в параметризованном триггерном плагине это уже для вас. – harish

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