Size: a a a

2021 July 21

DS

Dmitry Sergeev in jenkins_ru
но через локи проще
источник

II

Igor Ivanov in jenkins_ru
хм, я видимо туплю под вечер, но как через локи обработать кейс "второй билд должен дождаться первого"? мне приходит в голову только ситуация, когда
// first
lock('WAIT') {
// long build
}
// second
lock('WAIT') {}

, тогда второй будет висеть на "мютексе" пока первый его не освободит — но только при условии что первый начался раньше и успел его занять... а это в общем случае совершенно не так (например когда банально второй запустился раньше, а первый висит в очереди на своей ноде)
источник
2021 July 22

DS

Dmitry Sergeev in jenkins_ru
в целом да. Я тупанул
источник

Д

Дмитрий in jenkins_ru
Привет, может кто-нибудь подсказать можно ли в seed dsl динамически генерировать параметры джобы, используя методы shared library?
источник

II

Igor Ivanov in jenkins_ru
jobDsl() принимает буквально строчку с кодом — если научиться эту строчку динамически менять, то можно и над результирующим джобом измываться как захочется
источник

Д

Дмитрий in jenkins_ru
как вариант кстати да,спасибо, думал может попроще что есть из коробочки)
источник

Д

Дмитрий in jenkins_ru
activechoiceparameter выглядит неплохо, только как я понял там script не умеет пока с shared library работать(
источник

II

Igor Ivanov in jenkins_ru
да

"диалектов" грувей в дженкинсе по сути ~4 штуки:
- в script console, и в фристайл-джобах в шаге наподобие "execute groovy script"
- в скриптовом пайплайне с тамошним node(){} и withEnv(){}, где можно цеплять другое груви через shared libraries и load()
- в декларативном пайплайне с pipeline{} и agent{}, где вроде можно аналогично
- в job dsl с parameters{} definition{} и т.п.

то груве которое в active choice — оно сродни фристайловому, практически чистое и незамутнённое, может быть с несколькими дополнительными глобальными переменными
источник

M

MAdMAx in jenkins_ru
и не одно из них не работает нормально )
источник

AK

Aleksei Kanash in jenkins_ru
Hi. Может кто подскажет..
Пытаюсь дернуть плагин из пайплайна.
Работающий вызов выглядит так:
   stages {
       stage ('First') {
           steps {
               step([$class: 'CxScanBuilder',
                   property: "value",
                   ...
               ]
           }
       }
   }


а я хочу этот step сделать параметризованным и дернуть несколько раз с разными параметрами
Как сделать несколько степов в коде в моем случае я понял и сделал - там цикл внутри блока script и т.п. Но вот внутри этих stage я не понимаю как вытащить вызов этого класса в отдельную функцию...
Делаю
def scanRepo(Closure init = { }, def repo, def branch) {
[$class: ...
}
ну и там параметры пробрасываю, но вот этот код не выполняется, я явно что-то недоделал ) Ведь step принимает класс аргументом фактически, а тут я этого не делаю... Что нужно доделать?
источник

ИР

Иван Резвецов... in jenkins_ru
кто-то LDAP подключал к jenkins?
мне нужно чтоб каждый под своим юзером заходил и запускал job , который ему нужно
источник

AK

Aleksei Kanash in jenkins_ru
видел как работает, но сам не делал
источник

AM

Andrew Markov in jenkins_ru
Там плагин вроде
источник

AM

Andrew Markov in jenkins_ru
И не один
источник

PK

Pavel Kamyshev in jenkins_ru
вы имеете ввиду матричное распределение прав?
источник

ИР

Иван Резвецов... in jenkins_ru
Не совсем про права, просто про авторизацию
Сейчас в юзерах только я(admin), кто написал все job, теперь нужно чтоб каждый из сотрудников, когда нужно обновить прод или тест(как пример), заходили под своими лог и пассами из ldap и могли стартовать их
источник

PK

Pavel Kamyshev in jenkins_ru
ну и внтури то юзерами права надо будет делать все равно же, мы делали этим плагином
источник

ИР

Иван Резвецов... in jenkins_ru
а можно им на конкретный job дать права?
источник

AM

Andrew Markov in jenkins_ru
Это что то вроде project based matrix security
источник

M

MAdMAx in jenkins_ru
да
источник