Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Плагин для Jenkins , настройка Ant


(streLer) #1

Существует ли плагин для jenkins , чтобы можно было опционально выбирать цели при запуске проекта?
примерная реализация на скриншотах)


(Shaman) #2

попробуй https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+Dynamic+Parameter+Plug-in

 

после этого можно будет в строке вызова анта прописать что-то в плане:

 

ant $parameter1 $parameter2 где параметр1,2 это параметры из динамик параметров


(streLer) #3

никаких других вариантов нет?))


(Mykhailo Poliarush) #4

сделать через опции, не знаю, не видел таких плагинов

но можно сделать параметризированный билд

то есть перед запуском, нужно будет ввести таргеты, который Вы хотите прогнать

и дальше запускается билд с передаными таргетами

 

для того, чтобы это сделать посмотрите 

https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Build

а еще может быть Вам может облегчить задание дефолтных параметров вот этот билд

https://wiki.jenkins-ci.org/display/JENKINS/EasyAnt+Plugin


(Mykhailo Poliarush) #5

а хотя Вы знаете, я еще раз подумал, и это можно сделать

для этого Вам нужно использовать параметризированный билд

на каждую опцию надо создать поле с типом "boolean value"

а дальше перед шагом запуска анта, сделать еще один шаг execute shell

дальше вы пишите простой shell script с проверкой, если указанный checkbox = true, то вы добавляете таргет в какую-то переменную (например) TARGETS_TO_RUN

а потом когда обойдете все поля поля (чекбоксы) и заполните полностью переменную TARGETS_TO_RUN

дальше надо просто передать эту переменную в "Цели" для шага ant


(streLer) #6

Спасибо Вам Огромное, только проблема с перемнной возникла,  в Шелл прописываю так :

 

TTR="test1  test2 test3 test4"
echo $TTR
 
в поле цели Анта прописываю $TTR . 
При Сборке переменная не подхватывает значния (( Как ее правильно вызвать в шелле?)
Спасибо вам еще раз
 
 
 

 


(Mykhailo Poliarush) #7

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

это надо уже смотреть в отдельности, так походу не скажу

сейчас попробую у себя сделать простой пример


(Mykhailo Poliarush) #8

да не видит

чтобы это побороть, надо использовать вот такой вот плагин 

https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin


(Mykhailo Poliarush) #9

или же еще один вариант

запускать ант не из таска ant

а сразу же в шаге execute shell, где переменная видна


(streLer) #10

Спасибо вам большое за подсказку, буду разбираться) учиться )) спасибо еще раз)


(Mykhailo Poliarush) #11

ок, как получиться или не получиться, пишите

хочу посмотреть на результат :) 


(streLer) #12

echo TTR


(Mykhailo Poliarush) #13

да shell script получился не маленьким

но за то, функцию свою выполняет, да и задачу тоже


(nigilit) #14

А можно посмотреть на код Shell script который у вас получился?

Я так понимаю, что ant вы все таки решыли вызывать из Shell?

 

Я как раз пробую организовать запуск отдельних Test Suite в пределах одного Workspace в Jenkins. Также использую Ant.

Думаю, это как раз решение моей задачи:

Если разделить эти сборки по разным таргетам и запускать отдельные таргеты с помощю параметризированой зборки.

 

Заранее спасибо.