Дженкинс декларативный трубопровод несколько раб - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть конвейер с несколькими этапами, некоторые из них параллельны. До сих пор у меня был один блок кода, указывающий, где должно выполняться задание.

pipeline {
 triggers { pollSCM '0 0 * * 0' } 
 agent { dockerfile { label 'jenkins-slave'
                      filename 'Dockerfile'
                    }
       }
 stages{ 
  stage('1'){ 
   steps{ sh "blah" }
   } // stage
  } // stages
} // pipeline

Теперь мне нужно запустить новый этап на другом ведомом устройстве, а не в докере.

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

    stage('test new slave') {
     agent { node { label 'e2e-aws' } }
     steps {
      sh "ifconfig"
     } // steps
    } // stage

Я получаю следующее сообщение об ошибке 13:14:23 неизвестный флаг: --workdir 13:14:23 См. «Docker exec --help».

Я попытался установить для агента значение none для конвейера и использовать агент для каждого шага, но столкнулся с двумя проблемами 1. Мои действия сообщения показывают ошибку 2. Этапы, которые имеют параллельные этапы, также имели ошибку.

Я не могу найти примеров, похожих на то, что я делаю.

1 Ответ

0 голосов
/ 10 ноября 2018

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

pipeline {
agent any
stages {
    stage('Init') {
        steps {
            node('master'){
                echo "Run inside a MASTER"
            }
        }
    }
}
}
...