2013-09-16 5 views
2

Я хочу передать динамический параметр в Дженкинса запланированного задания (эта сборка работает каждый день в 3:00 утра)Передаёт динамический параметр в Дженкинс построить

Это работает, если я выполнил его в моей командной строке Linux :

mvn package -DintegrationTag=$(date +%d-%m-%y) 

или

mvn package -DintegrationTag="$(date +%d-%m-%y)" 

или

mvn package -DintegrationTag="$(date +"%d-%m-%y")" 

с этим 3 вариантом это то, что выполняется, например (это то, что я хочу сделать в Jenkins):

mvn package -DintegrationTag=16-09-2013 

, но любое из этих предложений, не работает в моих целях и вариантах Дженкинс (потому что динамический параметр).

Есть ли способ сделать это?

ответ

5

Решение:

Содержимое файла, который constains сценарий:

echo "NOW=`date +%d-%m-%y`"> env.properties 

Путь свойств файл:

env.properties 

В проекте, цели и варианты:

clean test package -DintegrationTag=$NOW 

INJECT переменные среды в процессе сборки = верно

+0

Для этого вам необходимо установить [EnvInject Plugin] (https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin). – cpetry

2

В Строить "выполнить оболочку" раздела добавить этот

NOW=`date +%d-%m-%y` 
mvn package -DintegrationTag=$NOW 
+0

После выполнения этого параметра параметр интеграции Tag не имеет значения в сгенерированной банке в app.properties. –

+0

Посмотрите на вывод консоли, и вы увидите, что выполняемая команда '' mvn package -DintegrationTag = 16-09-2013'' – Vorsprung

+0

Вы правы, но если параметр (integrationTag) не установлен в app.properties У меня такая же проблема. –

0

Другим вариантом может быть, чтобы выполнить цель верхнего уровня Maven в Дженкинс. Первые два этапа ввода требуемого значения переменной в среду сборки остаются такими же, как ответ, приведенный ниже @Iker.
На третьем этапе, дает цель как
clean test package

, а затем в разделе Свойства на вкладке «Дополнительно», дать
integrationTag=$<your variable name>

Обратите внимание, что это решение полезно, когда один создает свободный проект стиля в Дженкинс. Для проектов maven 2/3 решение от @Iker хорошее :)

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