Size: a a a

2021 April 03

ء

ءlinjan in jenkins_ru
tsla
Долго же ты придумывал шутку)
очень жаль, что не принимаешь подобное как совет
выше тоже самое было - https://t.me/jenkins_ru/49747
источник

t

tsla in jenkins_ru
ءlinjan
очень жаль, что не принимаешь подобное как совет
выше тоже самое было - https://t.me/jenkins_ru/49747
Задача есть, обсуждение или решение вне моей компетенции
источник

t

tsla in jenkins_ru
Бля, не уж то придётся через попу psh или плагин ставить...(
источник

ء

ءlinjan in jenkins_ru
tsla
Задача есть, обсуждение или решение вне моей компетенции
тогда жаль вдвойне, справляйтесь своими силами. без scm это будет непредсказуемо
источник

II

Igor Ivanov in jenkins_ru
tsla
Читаю и не могу всосать...(
Как написать так, что б не перечислять каждый сервер отдельно? Ну, что б типа было for server0{01..30}?
def run_on_node(server) {
 return {
   node(server) {
     sh "echo 'shoopdawhoop on $server'"
   }
 }
}

def parallel_steps =
 (1..30)
 .collect { "server${it}"}
 .collectEntries { [it, run_on_node(it)] }
 
println "$parallel_steps"

parallel parallel_steps
источник

AK

Alexey Kudryavtsev in jenkins_ru
tsla
Задача есть, обсуждение или решение вне моей компетенции
Как я вас понимаю. У меня пайплайн в ООП стиле, с десятками классов. При этом не используется НИ ОДИН дженкинс сниппет.
источник

II

Igor Ivanov in jenkins_ru
сразу предупреждаю что в console output будет каша которую побороть не получится априори, максимум можно каждое node{} обернуть в stage(server) { ... }, и потом в каком-нибудь blue ocean или табличке стейджей смотреть на выхлоп
источник

t

tsla in jenkins_ru
Igor Ivanov
def run_on_node(server) {
 return {
   node(server) {
     sh "echo 'shoopdawhoop on $server'"
   }
 }
}

def parallel_steps =
 (1..30)
 .collect { "server${it}"}
 .collectEntries { [it, run_on_node(it)] }
 
println "$parallel_steps"

parallel parallel_steps
Уххх, сильно...
Но разве node = slave дженкинс сервер?

В данном проекте тупо один дженкинс сервак без доп слэйвов.
источник

II

Igor Ivanov in jenkins_ru
tsla
Уххх, сильно...
Но разве node = slave дженкинс сервер?

В данном проекте тупо один дженкинс сервак без доп слэйвов.
а 30 серваков тогда откуда, внешние ресурсы не связанные с дженкинсом?
источник

DK

D K in jenkins_ru
tsla
Задача есть, обсуждение или решение вне моей компетенции
Если платят в х2 выше рынка, то хорошо. Но меня всегда поражало почему кто то принимает такие странные решение. Либо начальник дурак, либо исполнитель, кто то что то не договаривает в общем.
источник

t

tsla in jenkins_ru
Igor Ivanov
сразу предупреждаю что в console output будет каша которую побороть не получится априори, максимум можно каждое node{} обернуть в stage(server) { ... }, и потом в каком-нибудь blue ocean или табличке стейджей смотреть на выхлоп
Ааааррррггггхххх, а есть ещё идеи как в консоль output все упорядочить? Или тупо перенаправить вывод на сервера в файл и в конце дженкинс эти файлы будет читать с рабиением? Типа  echo " output from server0{01..30}" && cat output?
источник

II

Igor Ivanov in jenkins_ru
tsla
Ааааррррггггхххх, а есть ещё идеи как в консоль output все упорядочить? Или тупо перенаправить вывод на сервера в файл и в конце дженкинс эти файлы будет читать с рабиением? Типа  echo " output from server0{01..30}" && cat output?
да, перенаправление в файл норм
источник

t

tsla in jenkins_ru
Igor Ivanov
а 30 серваков тогда откуда, внешние ресурсы не связанные с дженкинсом?
Не, сча тупо через execute over ssh (publish over ssh плагин)
источник

t

tsla in jenkins_ru
Alexey Kudryavtsev
Как я вас понимаю. У меня пайплайн в ООП стиле, с десятками классов. При этом не используется НИ ОДИН дженкинс сниппет.
Хм, не думаю что ты работаешь над нищебродскими проектами как я) хуже и дешевле чем мы, вряд ли кто делает
источник

II

Igor Ivanov in jenkins_ru
tsla
Уххх, сильно...
Но разве node = slave дженкинс сервер?

В данном проекте тупо один дженкинс сервак без доп слэйвов.
если без доп слейвов, и ходить нужно на 30 абстрактных серваков не заведённых в дженкинс, то всё почти то же самое:
def run_on(server) {
 return {
   stage(server) {
     sh "echo 'shoopdawhoop on $server'"
   }
 }
}

def parallel_steps =
 (1..30)
 .collect { "server${it}"}
 .collectEntries { [it, run_on_node(it)] }
 
println "$parallel_steps"
node('some node') {
 parallel parallel_steps
}
зайдёт на some node и там параллельно запустит 30 раз sh с разными параметрами
источник

II

Igor Ivanov in jenkins_ru
ну либо можно без parallel, а просто в условном питоне сделать условное multiprocessing.Pool(30).map(run_something_on_server)
или не в питоне, в зависимости что там из инструментов внутри node доступно
источник

II

Igor Ivanov in jenkins_ru
и да, люди выше правильно ворчат — принимавшему решения настучать по башке, наркоманию не разводить, пользовать ансибл

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

t

tsla in jenkins_ru
Igor Ivanov
если без доп слейвов, и ходить нужно на 30 абстрактных серваков не заведённых в дженкинс, то всё почти то же самое:
def run_on(server) {
 return {
   stage(server) {
     sh "echo 'shoopdawhoop on $server'"
   }
 }
}

def parallel_steps =
 (1..30)
 .collect { "server${it}"}
 .collectEntries { [it, run_on_node(it)] }
 
println "$parallel_steps"
node('some node') {
 parallel parallel_steps
}
зайдёт на some node и там параллельно запустит 30 раз sh с разными параметрами
О, спасибки тебе 👍
источник

t

tsla in jenkins_ru
unixshaman
Может кто сталкивался с проблемой или может помочь? У меня пайплайн который запускается в параллель 30-40 инстансов, начал падать с ошибкой java.nio.file.FileAlreadyExistsException. Происходит это в самом конце пайплайна, но где конкретно, разобраться не удается, потому что стек трейс совсем не такой как обычно, обычно, когда падает, там есть строка кода пайплайна где произошла ошибка, а в этом случае нет ничего такого. По ссылке идет сначала лог выполнения, потом код пайплайна для этого куска https://pastebin.com/R4VQx9cY. Проблема начала возникать предположительно после обновления на 2.206 версию где-то в середине декабря, причем ее то вообще нет, то она появляется, и не проходит до момента - пока не посмотреть что в воркспейсах - и я понимаю что это бред, но после этого ошибка снова пропадает каким-то образом на денек
чувак, скинь пайплайн, плиз
у меня сходная задача
источник

u

unixshaman in jenkins_ru
tsla
чувак, скинь пайплайн, плиз
у меня сходная задача
Напишите в лс. Но прямо готовое скинуть не смогу точно пока.
источник