Size: a a a

2020 August 18

MK

Mikhail Kalyniuk in jenkins_ru
Elenhil
Ты уверен что в функцию в принципе заходит, повторяю вопрос
Не описал точку входа в функцию, прошу прощения. Сори что тупил, спасибо за помощь 👍
источник

MK

Mikhail Kalyniuk in jenkins_ru
Denis 災 nobody
учти, если у тебя что-то фейлится - нужно try или post, смотря какой синтаксис пайплайна
Спасибо за помощь, разобрался 👍
источник

D

Dentaky in jenkins_ru
Подскажите, есть пайп с 2-мя стейджами. Первый успешно выполнился, второй фэйл. Как перезапустить пайп со второго стэйджа?

pipeline {
   agent {
       label 'local'
   }
   stages {
        stage('Стэйдж1') {
           steps {
           cmd("команда1")                
           }
       }
       stage('Стэйдж2') {
           steps {
           cmd("команда2")                
           }
       }
def cmd(command) {
   if (isUnix()) {
       sh "${command}"
       } else {
       bat "chcp 65001\n${command}"
   }
}
источник

E

Elenhil in jenkins_ru
Dentaky
Подскажите, есть пайп с 2-мя стейджами. Первый успешно выполнился, второй фэйл. Как перезапустить пайп со второго стэйджа?

pipeline {
   agent {
       label 'local'
   }
   stages {
        stage('Стэйдж1') {
           steps {
           cmd("команда1")                
           }
       }
       stage('Стэйдж2') {
           steps {
           cmd("команда2")                
           }
       }
def cmd(command) {
   if (isUnix()) {
       sh "${command}"
       } else {
       bat "chcp 65001\n${command}"
   }
}
плохая идея. Желательно чтобы пайплайн был идемпотентен
источник

D

Denis 災 nobody in jenkins_ru
Dentaky
Подскажите, есть пайп с 2-мя стейджами. Первый успешно выполнился, второй фэйл. Как перезапустить пайп со второго стэйджа?

pipeline {
   agent {
       label 'local'
   }
   stages {
        stage('Стэйдж1') {
           steps {
           cmd("команда1")                
           }
       }
       stage('Стэйдж2') {
           steps {
           cmd("команда2")                
           }
       }
def cmd(command) {
   if (isUnix()) {
       sh "${command}"
       } else {
       bat "chcp 65001\n${command}"
   }
}
перезапуск части возможен только в декларативе, а там - открываешь задачу и смотри внимательно, там есть "запустить с этой задачи" например
источник

D

Dentaky in jenkins_ru
Denis 災 nobody
перезапуск части возможен только в декларативе, а там - открываешь задачу и смотри внимательно, там есть "запустить с этой задачи" например
Restart from stage. Четко, пашет. Спасибо.

А еще вопрос, нужный стэйдж как-то можно дернуть отдельно? Ну типа у меня есть некий условный запрос на запуск билда http:://что-то там с помощью токена. С его помощью некий человек запускает билд. Если в процессе случится на этапе фэйл, можно ли как-то перезапустить с нужного зафейленного стейджа? В доке наверняка об этом где-то написано?
источник

D

Denis 災 nobody in jenkins_ru
Dentaky
Restart from stage. Четко, пашет. Спасибо.

А еще вопрос, нужный стэйдж как-то можно дернуть отдельно? Ну типа у меня есть некий условный запрос на запуск билда http:://что-то там с помощью токена. С его помощью некий человек запускает билд. Если в процессе случится на этапе фэйл, можно ли как-то перезапустить с нужного зафейленного стейджа? В доке наверняка об этом где-то написано?
Restart from stage же, не? ) или нужно снаружи?
источник

D

Dentaky in jenkins_ru
Denis 災 nobody
Restart from stage же, не? ) или нужно снаружи?
Это да, нужно снаружи.
источник

D

Denis 災 nobody in jenkins_ru
а, чтобы снаружи токеном..
источник

D

Denis 災 nobody in jenkins_ru
никогда было не нужно, и скорее всего вам тоже не нужно. Потому что сначала всегда fetch, а уже потом сборка. Если фейл из-за кода, всё-равно нужен fetch и далее
источник

D

Dentaky in jenkins_ru
У меня бывают фэйлы типа из-за того, что с лицензией проблемы или еще какие-то смежные вещи, которые с самим кодом билда никак не связаны. И при таких непредвиенных ситуациях мне всю сборку не надо выполнять, а нужно только с проваленной стадии запустить, чтобы билд до конца дошел.
источник

D

Dentaky in jenkins_ru
Можно конечно и весь перезапускать, но там бывают стэйджы и по 2ч
источник

D

Denis 災 nobody in jenkins_ru
юнити, да? )
источник

D

Dentaky in jenkins_ru
И ждать заново очень накладно
источник

D

Denis 災 nobody in jenkins_ru
думаю, можно по токену часть запустить, но мы никогда не делали, так что только в доку могу отправить
источник

D

Dentaky in jenkins_ru
Ок, пошел курить, спс.
источник

D

Denis 災 nobody in jenkins_ru
вариант - поскольку это всё-равно ручная операция, дать доступ в веб, с матрикс плагином можно ограничить часть юзеров на запуск задач
источник

E

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

D

Dentaky in jenkins_ru
А вообще какая идеология у дженкинса по поводу удаленного запуска билдов? Ну типа как это верно делать? Запросом через токен корректно вообще? Или есть более изящные и правильные способы? Заходить через веб морду и запускать?

Просто сейчас я настроил пайп, который триггерится через токен запросом. Отдал батник людям и они сами его дергают, когда надо собрать что-то себе. И не заморачиваюсь.
источник

D

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