Size: a a a

2021 April 05

АБ

Андрей Балашов... in jenkins_ru
Никита
если стейдж - вызов либ, стейдж2 - вызов либ и т.д. - норм, но не вызов единной функции
я через stage делаю)
источник

HC

Henry Chinaski in jenkins_ru
Можно описать небольшую схему эволюции в Jenkins:
- declarative pipeline (big Jenkinsfile and small size of shared library)
- scripted pipeline (midle Jenkinsfile and middle size of shared library)
- scripted pipeline (minimal Jenkinsfile, large size of shared library)
источник

Н

Никита in jenkins_ru
у скриптового есть один большой минус - оно кушает экзекьютор
источник

II

Igor Ivanov in jenkins_ru
Никита
у скриптового есть один большой минус - оно кушает экзекьютор
если умудриться написать пайп без единого node { ... } — не кушает
ну и в декларативе ровно такая же ситуация с agent { ... }, разве нет?
источник

Н

Никита in jenkins_ru
да, но многое можно сделать без агента
источник

Н

Никита in jenkins_ru
тот же елементарный инпут, если опция декларативная на стейдже - будеть весеть вечно или до таймаута и не кушать ничего, скриптовой - кушает
источник

Н

Никита in jenkins_ru
чистыми грувями без работы с файловой системой можно обходиться без агента, чисто для служеюных всяких степов
источник

II

Igor Ivanov in jenkins_ru
Никита
чистыми грувями без работы с файловой системой можно обходиться без агента, чисто для служеюных всяких степов
эмммм, а пример можно?
источник

II

Igor Ivanov in jenkins_ru
ведь ничто не мешает и в скриптеде дёрнуть потроха дженкинса через условный jenkins.instance, да и какой-нибудь степ вроде httpRequest method: 'POST', url: 'http://example', не заходя при этом на ноду
источник

Н

Никита in jenkins_ru
да, только это выглядит менее аппетитно чем строчка декларативного из коробки
источник

ВБ

Ванёк Бордаковский... in jenkins_ru
Ванёк Бордаковский
Всем привет. Подскажите, есть вариант сократить pipline. Объясню. Есть примерно такое описание
stages {
   stage('GO') {
       parallel {
           stage('Dev') { environment { ENV = 'dev' } agent { docker { image '${image}' } } ...etc}
           stage('Test'){ environment { ENV = 'test' } agent { docker { image '${image}' } } ...etc}
           stage('RUN') {environment { ENV = 'run' } agent { docker { image '${image}' } } ...etc}
         }
       }
     }

В каждом stage примерно одно и тоже. Разница только в переменных. Ну и вырос такой pipline до 500 строк, что не очень читабельно. Как то можно это унифицировать?
Всем привет. Нашел что то более менее похожее.
https://github.com/sunweisheng/jenkins-json-build/blob/master/shared-library/vars/agentServer.groovy
то есть, если тут описать 1 универсальный шаг, а после вызывать функцию в stage, это норм? или совсем нарокомания?
источник

HC

Henry Chinaski in jenkins_ru
Ванёк Бордаковский
Всем привет. Нашел что то более менее похожее.
https://github.com/sunweisheng/jenkins-json-build/blob/master/shared-library/vars/agentServer.groovy
то есть, если тут описать 1 универсальный шаг, а после вызывать функцию в stage, это норм? или совсем нарокомания?
Привет. Норма
источник

ВБ

Ванёк Бордаковский... in jenkins_ru
Если есть кто, кому сие интересно, можно вместе что то сделать. У меня просто голова уже кругом идёт
источник

I

Ivan in jenkins_ru
Всем привет, подскажите пожалуйста, если Jenkins использовался на Windows.
Его содержимое спокойно заведется на Linux'e? Все же настройки в XML хранятся..
источник

II

Igor Ivanov in jenkins_ru
хранятся, но если где-то затесалось что-нибудь наподобие C:/prg/git/git.exe — может оказаться весело
источник

I

Ivan in jenkins_ru
это есть да, но сколько работаю, он скажет, что нет такого пути )
источник

u

unixshaman in jenkins_ru
есть такая утилита http://findandreplace.io/ ее можно использовать, чтобы после остановки Jenkins, найти все пути/какие-то данные которые вы точно будете знать что есть в Windows только, и т.п. и заменить их на корректное в Linux окружении и в принципе, можно завести
источник

I

Ivan in jenkins_ru
о, спасибо большое!
источник

u

unixshaman in jenkins_ru
Там можно сразу искать пути вида C:\Program Files, каталог установки Jenkins, *.exe и т.п.
источник

I

Ivan in jenkins_ru
Мне лично кажется, что там минимально путь до Java поменять, и просто запуск сменить с Java.exe на java -jar jenkins.war )
источник