Size: a a a

2020 September 18

E

Elenhil in jenkins_ru
Описываете джобу, по необходимости генерите генерилкой
источник

E

Elenhil in jenkins_ru
Любые параметры которые генерит ваш скрипт можно точно так же передать в джобу. Можно даже этот скрипт засунуть в параметр, если переписать на груви
источник

E

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

R

Rita Greyreality 🌈... in jenkins_ru
Elenhil
Описываете джобу, по необходимости генерите генерилкой
это получается мне по любому надо два файла? seed job генерит jenkinsfile и dsl по шаблону и птом выполняет dsl с помощью
jobDsl targets: "dsl_build_pipeline.groovy",
  removedJobAction: 'IGNORE',
  removedViewAction: 'IGNORE',
  lookupStrategy: 'JENKINS_ROOT',
  additionalClasspath: ''
?

так было сделано в одном примере... но у меня ошибка пока что +_+
источник

E

Elenhil in jenkins_ru
Rita Greyreality 🌈
это получается мне по любому надо два файла? seed job генерит jenkinsfile и dsl по шаблону и птом выполняет dsl с помощью
jobDsl targets: "dsl_build_pipeline.groovy",
  removedJobAction: 'IGNORE',
  removedViewAction: 'IGNORE',
  lookupStrategy: 'JENKINS_ROOT',
  additionalClasspath: ''
?

так было сделано в одном примере... но у меня ошибка пока что +_+
Дженкинсфайл не надо генерить. Зачем?
Оно у вас или специфично для каждого девайса, или общее и параметризованное
источник

E

Elenhil in jenkins_ru
Джобдсл так же не надо генерить, у вас есть описание джобы "ведроид" с параметрами. Подставляете параметры, пускаете jobdsl степ
источник

R

Rita Greyreality 🌈... in jenkins_ru
Elenhil
Джобдсл так же не надо генерить, у вас есть описание джобы "ведроид" с параметрами. Подставляете параметры, пускаете jobdsl степ
идея понятна. замену параметров можно убрать. и это все в pipeline поле в Seed job делается?
как код для запуска выглядит? можно статью лол. паззл не складывается ><
источник

E

Elenhil in jenkins_ru
Rita Greyreality 🌈
идея понятна. замену параметров можно убрать. и это все в pipeline поле в Seed job делается?
как код для запуска выглядит? можно статью лол. паззл не складывается ><
Смотрите. У вас есть раннер. Когда вы хотите пустить джобу, вы идете в раннер, ставите параметры"пускать такие то тесты на сяоми ми5"
Раннер пускает тесты с нужными параметрами на джобе run_mi5
Если такой джобы нет, он спавнит новую джобу с таким названием и нужными параметрами
источник

E

Elenhil in jenkins_ru
Если надо какие-то доп вычисления, (этот ваш скрипт, что бы он ни делал) они ранаются в раннере, перед тем как запустить/заспавнить билд, или в отдельной джобе по шедулеру, которая кладет куда-то результаты, а раннер/конечные джобы это подсасывают
источник

E

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

E

Elenhil in jenkins_ru
Есть ещё мультибранч, он как раз для динамических схем, но я в нем не шарю
источник

R

Rita Greyreality 🌈... in jenkins_ru
Elenhil
Смотрите. У вас есть раннер. Когда вы хотите пустить джобу, вы идете в раннер, ставите параметры"пускать такие то тесты на сяоми ми5"
Раннер пускает тесты с нужными параметрами на джобе run_mi5
Если такой джобы нет, он спавнит новую джобу с таким названием и нужными параметрами
все зоки от бады прифигели счас. у меня все basic счас. jenkins в docker и плагины. jobs нужны для тестирования. build приложения в другом jenkins делается ><

runnner это этот? https://github.com/jenkinsci/jenkinsfile-runner
спавнить новую джобу это как делается?

нашла еще такое
stage ('Starting ART job') {
   build job: 'Run_mobile_tests_on_iOS', parameters: [[$class: 'StringParameterValue', name: 'systemname', value: systemname]]
}
но в таком случае если я запущу Run_mobile_tests_on_iOS на одном телефоне. я не смогу запустить на втором пока не закончится первый job run.
источник

E

Elenhil in jenkins_ru
Rita Greyreality 🌈
все зоки от бады прифигели счас. у меня все basic счас. jenkins в docker и плагины. jobs нужны для тестирования. build приложения в другом jenkins делается ><

runnner это этот? https://github.com/jenkinsci/jenkinsfile-runner
спавнить новую джобу это как делается?

нашла еще такое
stage ('Starting ART job') {
   build job: 'Run_mobile_tests_on_iOS', parameters: [[$class: 'StringParameterValue', name: 'systemname', value: systemname]]
}
но в таком случае если я запущу Run_mobile_tests_on_iOS на одном телефоне. я не смогу запустить на втором пока не закончится первый job run.
нет. Это я от балды назвал. Раннер - это видимо ваша seed job, билд - это билд джобы, а не "джоба билда"- считай в вашем случае тесты
источник

E

Elenhil in jenkins_ru
Запустить можете. Там ключ wait есть
источник

IA

Ivan Alexandrov in jenkins_ru
Elenhil
Запустить можете. Там ключ wait есть
только параметры не получите по запущенной джобе
источник

E

Elenhil in jenkins_ru
Ivan Alexandrov
только параметры не получите по запущенной джобе
там, как я понял, не надо возвращать их. Там даже ждать не надо, если можно N сид джоб в параллель запускать
источник

IA

Ivan Alexandrov in jenkins_ru
Elenhil
там, как я понял, не надо возвращать их. Там даже ждать не надо, если можно N сид джоб в параллель запускать
да, я к тому, что wait Только этот минус создаёт. + не фейлит вышестоящий конвейер
источник

E

Elenhil in jenkins_ru
угу
источник

R

Rita Greyreality 🌈... in jenkins_ru
Elenhil
Джобдсл так же не надо генерить, у вас есть описание джобы "ведроид" с параметрами. Подставляете параметры, пускаете jobdsl степ
план 2) с генерацией job per phone лучше. можно в параллели все гнать. если моя единственная нода не сдохнет.

тут получается сгенерить dsl с параметрами нужный device и его platform_version и в dsl  сгенерить job. как тут? https://stackoverflow.com/questions/49262174/how-to-pass-paramaters-to-a-pipelinejob-in-dsl
источник

E

Elenhil in jenkins_ru
Rita Greyreality 🌈
план 2) с генерацией job per phone лучше. можно в параллели все гнать. если моя единственная нода не сдохнет.

тут получается сгенерить dsl с параметрами нужный device и его platform_version и в dsl  сгенерить job. как тут? https://stackoverflow.com/questions/49262174/how-to-pass-paramaters-to-a-pipelinejob-in-dsl
не сгенерить, а написать.
источник