Jenkins Pipeline — мощный инструмент для автоматизации процесса доставки программного обеспечения. Одной из его ключевых особенностей является возможность определять и использовать глобальные переменные в сценариях конвейера. В этой статье мы рассмотрим различные методы определения и использования глобальных переменных в Jenkins Pipeline, а также приведем примеры кода и практические советы.
Метод 1: переменные среды
Jenkins Pipeline предоставляет простой способ определения глобальных переменных с использованием переменных среды. Вы можете установить переменные среды в начале сценария конвейера, и они будут доступны на протяжении всего его выполнения. Вот пример:
pipeline {
agent any
environment {
MY_GLOBAL_VAR = 'Hello, World!'
}
stages {
stage('Example') {
steps {
echo "${env.MY_GLOBAL_VAR}"
}
}
}
}
Метод 2: общие библиотеки
Общие библиотеки — это мощная функция Jenkins, которая позволяет определять код, допускающий повторное использование, в нескольких конвейерах. Вы можете определить глобальные переменные в общей библиотеке, сделав их доступными для всех конвейеров, использующих эту библиотеку. Вот пример:
// vars/myGlobalVars.groovy
def myGlobalVar = 'Hello, World!'
return this
// Jenkinsfile
@Library('my-shared-library')
import myGlobalVars
pipeline {
agent any
stages {
stage('Example') {
steps {
echo "${myGlobalVars.myGlobalVar}"
}
}
}
}
Метод 3: Плагин глобальных переменных
Плагин глобальных переменных — это плагин Jenkins, который позволяет определять глобальные переменные непосредственно в конфигурации Jenkins. После определения эти переменные могут быть доступны из любого конвейера. Вот пример:
- Установите плагин глобальных переменных из диспетчера плагинов Jenkins.
- Перейдите в Jenkins >Управление Jenkins >Настроить систему.
- В разделе «Глобальные свойства» нажмите «Добавить» и выберите «Переменные среды».
- Добавьте новую переменную среды, например
MY_GLOBAL_VAR, со значением по вашему выбору. - Сохраните конфигурацию.
Теперь вы можете получить доступ к этой глобальной переменной в сценарии конвейера:
pipeline {
agent any
stages {
stage('Example') {
steps {
echo "${MY_GLOBAL_VAR}"
}
}
}
}
В этой статье мы рассмотрели различные методы определения и использования глобальных переменных в Jenkins Pipeline. Мы рассмотрели переменные среды, общие библиотеки и плагин глобальных переменных. Используя эти методы, вы можете повысить гибкость и возможность повторного использования сценариев Jenkins Pipeline.