Упрощение конвейера Jenkins: освоение глобальных переменных и их использование

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. После определения эти переменные могут быть доступны из любого конвейера. Вот пример:

  1. Установите плагин глобальных переменных из диспетчера плагинов Jenkins.
  2. Перейдите в Jenkins >Управление Jenkins >Настроить систему.
  3. В разделе «Глобальные свойства» нажмите «Добавить» и выберите «Переменные среды».
  4. Добавьте новую переменную среды, например MY_GLOBAL_VAR, со значением по вашему выбору.
  5. Сохраните конфигурацию.

Теперь вы можете получить доступ к этой глобальной переменной в сценарии конвейера:

pipeline {
    agent any
    stages {
        stage('Example') {
            steps {
                echo "${MY_GLOBAL_VAR}"
            }
        }
    }
}

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