Повторное использование кода с помощью общих библиотек Jenkins

Создание конвейеров для нескольких проектов, особенно в распределенной архитектуре, такой как микросервисы, в наше время является более чем нормальным явлением.

Когда вы управляете несколькими конвейерами для разных проектов, может возникнуть одна проблема: у вас может быть похожий код, который должен выполняться во всех заданиях. И вы не хотите обновлять его по одному.

Например, у вас может быть общая функция для:

  • создавать git-метки
  • отправлять уведомления в Slack
  • запускать инструмент для создания отчета или сканирования на наличие уязвимостей.

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

Вот шаги, необходимые для использования этой возможности в CI/CD с Jenkins:

  1. создать репозиторий для хранения вашей общей библиотеки / общих функций. см. https://github.com/rodrigocprates/jenkins-shared-library.

  2. настройте общую библиотеку через конфигурации Jenkins (/configure)

  1. обновите свой Jenkinsfile, чтобы использовать его.
@Library('jenkins-shared-library') _ // loads all library functions

stage('Demo') {
  common.sayHello("Rodrigo") // references 'common' as library 'common.groovy'
}

Вход в полноэкранный режим Выйти из полноэкранного режима

При каждом запуске вашего задания оно будет:

  • клонирует репо этой общей библиотеки (с наиболее обновленным кодом)
  • импортировать функции
  • запустит любую функцию, которую вы вызовете в своем конвейере

Выводы

Легко и прямо к делу!
Вот репозиторий: https://github.com/rodrigocprates/jenkins-shared-library

Оцените статью
devanswers.ru
Добавить комментарий