Если вы видите что-то необычное, просто сообщите мне. Skip to main content

Синтаксис

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

Параметры для agent:

  • any - Выполните конвейер или этап для любого доступного агента. none - При применении на верхнем уровне блока конвейера глобальный агент не будет выделен для всего выполнения конвейера, и каждый раздел Stage должен содержать свой собственный раздел агента.
  • label - Выполните конвейер или этап для агента, доступного в среде Jenkins, с предоставленной меткой.
  • node - идентичен label, но у node можно указать дополнительный параметр customWorspace.
  • docker - выполнить конвейер или этап с заданным контейнером, который будет динамически подготовлен на узле, предварительно настроенном для приема конвейеров на основе Docker
  • dockerfile - выполнить конвейер или этап с контейнером, созданным из файла Docker, содержащегося в исходном репозитории.
  • kubernetes - выполнить конвейер или этап внутри модуля, развернутого в кластере Kubernetes. Пример 1: Раздел агента внутри части блока pipeline
pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                echo 'Hello Pipeline'
				ws('/tmp/hey') {
			        sh 'pwd'
			    }
            }
        }
    }
}

Пример 2: Раздел агента внутри stage

pipeline {
    agent none
    stages {
        stage('Build') {
            agent any
            steps {
                echo 'Helo Pipeline'
            }
        }
        stage('Test') {
            agent any
            steps {
                echo 'Test'
            }
        }
    }
}