Конвейер Jenkins - отменить выпуск jgitflow в случае сбоя

Я слежу за Git flow: как настроить процесс выпуска в один клик в Jenkins?, чтобы реализовать процесс выпуска с конвейером Jenkins. Однако я не уверен, что мне делать, чтобы сбросить ветку разработки, если что-то выйдет из строя.

Это часть моей стадии конвейера:

try {
    sh "mvn -f jgitflow:release-start -B -U -DskipTests"

    try {
        sh "mvn -f jgitflow:release-finish -B -U -DskipTests -Dmaven.javadoc.skip=true -DnoDeploy=false"
    } catch(err) {
        currentBuild.result = 'FAILURE'
        println("Cannot finish a release, undoing...")

        //undoing

        return
    }

} catch(err) {
    currentBuild.result = 'FAILURE'
    println("Release failed")
    return
}

Должен ли я обнаружить ветвь releaseregexp) и удалить ее, а затем выполнить git reset --hard HEAD~1 для сброса ветки develop?

Есть ли другие способы сделать это?

основная цель в вопросе, похоже, не связана с git flow. Больше о том, как использовать Git. Если ваш код компилируется не без ошибок, вы исправляете код и перестраиваете его. Как вы думаете, зачем делать сброс --hard HEAD ~ 1? Это удалит вашу историю и станет еще более опасным, если вы перейдете к удаленному

OK999 19.04.2018 16:51

Я просто хочу восстановить предыдущее состояние репозитория, если что-то не получается, например. Я не хочу, чтобы коммит увеличивал версию pom для моментального снимка в ветке разработки, и я больше не хочу сохранять ветку выпуска.

staszko032 19.04.2018 16:59

Для ветки выпуска или любой другой ветки, если она вам не нужна. просто удалите это. Чтобы удалить его локально: git branch -d feature/login и удалить с пульта: git push origin --delete feature/login. И по другому вопросу: не рекомендуемый стандартный процесс, чтобы попытаться удалить в случае сбоя из удаленного репо. Попробуйте сначала собрать проект локально, прежде чем нажимать

OK999 19.04.2018 17:04

Так следует ли мне отключить автоматическое нажатие с помощью jgitflow, затем выполнить операцию выпуска и запуска, наконец, если все будет в порядке, отправить локальные изменения на удаленный? Такой же поток для релиз-финиша? Я не эксперт по мерзавцам, извините.

staszko032 19.04.2018 17:19

Извините, я не могу посоветовать, не имея представления о вашем местном окружении. Но весь конвейер code / jenkins, который вы поделили в OP, будет выполняться для кодов, которые достигают репозитория git. То, что я делаю и многие другие, - это собирать код локально на моей рабочей станции еще до того, как я нажимаю, например mvn install. И если это выглядит нормально locallu, сделайте git push на удаленный компьютер, чтобы поделиться им с соавторами.

OK999 19.04.2018 17:46

Я думаю, что вы помогли мне разобраться в настоящей проблеме, спасибо.

staszko032 19.04.2018 18:00
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
6
601
0

Другие вопросы по теме