Рейтинг:1

Один и тот же Jenkinsfile работает по-разному на двух внешне равных серверах

флаг bd

Я был вынужден дважды сменить сервер jenkins с одного сервера на другой. В первый раз я без проблем перенес его с сервера Ubuntu 20.04 на Ubuntu 21; сборка (многоветвевой конвейер) работала нормально.

Но теперь я был вынужден снова сменить jenkins на другой сервер, на котором работает Debian 10, и теперь конвейер пропускает все шаги, кроме проверки и публикации (отправки электронной почты).

Это файл Дженкинса:

трубопровод {
    агент любой
    среда {
        GIT_BRANCH = "происхождение/${BRANCH_NAME}"
        BRANCH_NAME = "${BRANCH_NAME}"
        REGISTRY_CREDENTIALS = учетные данные («УДАЛЕНО»)
        РЕГИСТР = "my.remote.regsitry"
    }

    этапы {
        этап («Оформить заказ») {
            шаги {
                касса
            }
        }

        этап («Сборка») {
            шаги {
                ш '''#!/bin/bash
                компакт-диск ci
                
                эхо "BRANCH_NAME=$BRANCH_NAME"
                эхо "GIT_BRANCH=$GIT_BRANCH"
                
                ./build.sh мой.удаленный.реестр
                '''
            }
        }

        этап («Нажать») {
            шаги {
                ш '''#!/bin/bash
                компакт-диск ci

                echo "Вход в реестр $REGISTRY как $REGISTRY_CREDENTIALS_USR..."

                if ( ! docker login -p "$REGISTRY_CREDENTIALS_PSW" -u "$REGISTRY_CREDENTIALS_USR" "$REGISTRY" ); тогда
                        echo "Не удалось войти в ${REGISTRY}. Прерывание..."
                        вернуть 1;
                фи

                ./push.sh док-станция.epiclabs.io
                если [-e псевдоним.sh]; тогда
                    . ./gitinfo.sh
                    ./alias.sh "$TAG" "$BRANCH" мой.удаленный.реестр
                    ./push.sh --tag "$BRANCH" my.remote.registry
                фи
                '''
            }
        }

        этап («Развертывание») {
            шаги {
                ш '''#!/bin/bash
                компакт-диск ci
                ./deploy.sh "192.168.10.254/cid" мой.удаленный.реестр
                '''
            }
        }
    }

    публиковать {  
         всегда {
            emailext attachLog: правда,
            body: "${currentBuild.currentResult}: задание ${env.JOB_NAME} построить ${env.BUILD_NUMBER}\n",
            subject: "Сборка CID ${currentBuild.currentResult}: задание ${env.JOB_NAME}",
            на: 'ОТРЕДАКТИРОВАНО'
        }
    }
}

Конвейер ведет себя хорошо на первых двух серверах (деплой должен дать сбой, это не та проблема, о которой я говорю :)): Конвейер со всеми шагами

Но теперь он пропускает шаги: Конвейер, который пропускает все соответствующие шаги

Журналов, отражающих какие-либо ошибки, нет. Я не знаю, где еще искать.

флаг bd
Что ж, новый сервер пытался использовать учетные данные, которых больше не существовало.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.