Всякий раз, когда я вызываю оболочку в шаге конвейера jenkins, используя sh, выдается ошибка. Попытка выполнить шаг, требующий контекста узла. - PullRequest
0 голосов
/ 08 июля 2019

Я создаю конвейер Дженкинса, где я определяю этапы и этапы агента.В шагах, когда я использую sh, он выдает ошибку:

ОШИБКА: Попытка выполнить шаг, который требует контекста узла, в то время как 'agent none' было указано.Обязательно укажите свои собственные блоки 'node {...}' при использовании 'agent none'

Ниже выдается ошибка:

pipeline {
    agent none
    stages {

        stage('Build2') {
            steps {
               sh 'echo "hello world" '
            }  
        }
    }
}

Но когда я использую:

pipeline {
    agent none
    stages {

        stage('Build2') {
            steps {
               echo "hello world"
            }    
        }
    }
}

Это прекрасно работает

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

Я не уверен, почему для вызова sh требуется узелконтекст.

1 Ответ

0 голосов
/ 09 июля 2019

Прежде всего echo step и sh step очень различаются.

Во-вторых, зачем вам делать agent none, а затем запускать что-то, что предполагает наличие конкретной операционной системы на исполняющей машине?

Одним из решений было бы использование agent any.

Другое дело, это то, что упоминается в документации jenkins о agent none:

При применении наНа верхнем уровне блока конвейера глобальный агент не будет выделен для всего цикла конвейера, и каждый раздел этапа должен содержать свой собственный раздел агента.Например: агент нет

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