Как запустить скриптовое задание Jenkins на свободном подчиненном устройстве? - PullRequest
0 голосов
/ 05 ноября 2018

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

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

Не могли бы вы сказать мне, как я могу это сделать?

1 Ответ

0 голосов
/ 15 марта 2019

Поскольку у конвейера есть два синтаксиса, есть два способа достичь этого. Для скриптового конвейера, пожалуйста, проверьте второй.

декларативного

pipeline {
    agent none
    stages {
        stage('Build') {
            agent { label 'slave-node​' }
            steps {
                echo 'Building..'
                sh '''
                '''
            }
        }
    }

    post {
        success {
            echo 'This will run only if successful'
        }
    }
}

Scripted

node('your-node') {
  try {

    stage 'Build'
    node('build-run-on-this-node') {
        sh ""
    }
  } catch(Exception e) {
    throw e
  }
}
...