Гарантируется ли, что все этапы в конвейере Jenkins будут выполняться на одном хосте? - PullRequest
2 голосов
/ 28 марта 2019

Если у меня есть конвейер jenkins, выполнение которого ограничено определенной меткой (скажем, label1), в которой есть две или три машины / хосты / узлы (например, хост1, хост2 ..), связанные с ним.скажем, у меня есть этапы build, lint и test в Jenkinsfile, и когда задание сработало, и оно начало выполнять задание на хосте / узле host1.Гарантируется ли, что jenkins завершит эту работу на том же хосте / узле host1 со всеми этапами (build, lint ..) в работе?или он переключается на другие узлы / узлы между этапами (build, lint ..)?

pipeline {

    agent {
       label 'label1'
    }


    stages {
       stage('build') {
           steps {
               sh('echo build')
           }
       }

       stage('lint') {
            steps {
               sh ('echo lint')
            }
       }

       stage('test') {
            steps {
               sh ('echo test')
            }
        }
    }
}

1 Ответ

5 голосов
/ 28 марта 2019

Если вы явно не определите другого агента на этапе (что возможно), все ваши этапы будут выполняться на одном исполнителе. Что имеет смысл: было бы очень неудобно, если бы вам приходилось объявлять агента на каждом этапе, чтобы он оставался неизменным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...