Общая библиотека Дженкинса: пристальный взгляд [2022]

Опубликовано: 2021-01-02

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

Вы можете использовать шланг как код для кодирования всего процесса CI/CD. Относитесь к этому как к разработке приложений. Вы можете опубликовать свой конвейерный код и запустить все уровни тестирования, прежде чем использовать его для развертывания своего приложения.

Оглавление

Что такое Общая библиотека Дженкинса?

Когда мы говорим CI/CD как условное обозначение, нам нужна модульность и повторное использование. Вы должны следовать принципу DRY. Вот где общая библиотека Дженкинса оказывается полезной.

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

Вы можете сравнить его с популярными каталогами программирования. Программирование создает отдельное руководство, которое любой может использовать при импорте кода.

Например, если у вас есть десять пайпов для микросервисов из Java, старая процедура создания повторяется для всех десяти пайпов. Кроме того, код пайпа копируется и вставляется при добавлении новых сервисов. Если вы хотите изменить какие-то параметры на старой стадии строительства, вам необходимо настроить их вручную во всех трубах.

В том же сценарии вы создадите общую библиотеку для старых зданий. Для всех труб все, что вам нужно сделать, это обратиться к старой библиотеке строительных норм. Если в будущем появятся какие-либо старые изменения, все, что вам нужно обновить, — это значок общей библиотеки.

Читайте: Интересные идеи и темы проекта Jenkins

Начните использовать общие библиотеки

Общий каталог — это набор классных файлов (DSL + Groovy). Все крутые файлы должны быть в репозитории git. В этом примере Github используется в качестве репозитория git. https://github.com/devopscube/jenkins-shared-library. Вы можете продублировать этот репозиторий, чтобы получить инфраструктуру общей библиотеки.

База данных общей библиотеки содержит следующие структуры томов:

Объединенная библиотека Дженкинса

| ____ варс

| ____ источник

| ____ Ресурсы

Варс

Он содержит весь код WCL, который вы можете вызывать из конвейера. Он содержит все файлы каталогов с расширением .groovy. Файлы .txt также поддерживаются для документирования совместно используемого кода библиотеки. Например, если у вас есть файл с именем maven-build. Groovy, вы получите файл справки с именем maven-groovy.txt. Вы можете написать справочную документацию, чтобы отметить свойства общего каталога в этом файле. Файлы справки можно просмотреть на странице <your-jenkins-url>/Pipeline Syntax/Global.

Источник

Это стандартный исходный каталог Java. Как только весь текст будет скомпилирован, он будет добавлен в путь к классам. Здесь вы можете добавить невероятно крутой код для расширения кода общей библиотеки. Вы также можете использовать манифест импорта для импорта существующих категорий и расширений Jenkins.

Есть сценарии, когда классное оборудование DSL недостаточно гибко для выполнения определенных функций. В этом случае вы можете написать собственные грув-функции в src и прочитать их в коде общей библиотеки.

Ресурсы

Вы можете управлять всеми ненужными файлами, необходимыми для шланга, в этой папке. Например, вам может понадобиться общий шаблон JSON для выполнения вызовов API во время создания. Вы можете сохранить этот шаблон JSON в папке ресурсов и вызвать его в общей библиотеке с помощью функции LibraryResource.

Обязательно прочтите: Зарплата Дженкинса в Индии

Общая глобальная библиотека

Есть несколько мест, где вы можете настроить общий каталог, в зависимости от вашего варианта использования. Jenkins Management » Конфигурация системы» Global Pipe Library. Вы можете настроить любое количество каталогов, как вам нужно.

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

Эти библиотеки считаются «надежными». Вы можете выполнить любой метод в Java, Groovy, внутреннем API Jenkins, расширении Jenkins или стороннем каталоге. Он позволяет точно идентифицировать библиотеки, которые объединяют небезопасные API в конверты высокого уровня, которые можно безопасно использовать из любого конвейера.

Обратите внимание, что любой, кто может оплатить комиссию этой базе данных SCM, имеет неограниченный доступ к Jenkins. Для создания этих каталогов вам необходимо разрешение Total/RunScripts (это разрешение обычно дается администраторам Jenkins).

Запишитесь на курсы по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Общая библиотека на уровне папки

Все созданные папки могут быть связаны с общими каталогами. Этот механизм позволяет установить определенный диапазон каталогов для всех каналов в томе или подпапке.

Каталоги на основе папок не считаются «надежными». Он работает в канавочной песочнице, как обычная труба.

Автоматическая общая библиотека

Другие плагины могут добавить способ идентификации библиотеки на ходу. Например, «Папка организации GitHub» — это подключаемый модуль исходного кода, предоставляемый в исходном коде ветви GitHub. Он предоставляет компонент, который позволяет сценариям использовать ненадежные библиотеки, такие как github.com/orgname/reponame, за вычетом любой дополнительной конфигурации. В этом случае указанный репозиторий GitHub будет загружаться из основной ветки с использованием анонимных настроек.

Проверка изменений в библиотеке

Если вы заметили ошибку в сборке с ненадежным каталогом, щелкните ссылку воспроизведения и отредактируйте один или несколько исходных файлов, чтобы проверить, работает ли полученная версия должным образом. Когда вы будете удовлетворены результатами, щелкните ссылку diff на странице состояния выпуска и примените разницу к своей библиотеке и пулу коммитов.

(Даже если запрошенная версия библиотеки является веткой, а не статической версией, такой как закладка, повторно активированная версия будет использовать ту же версию, что и исходная версия. Вы не можете отозвать ресурсы библиотеки.)

В настоящее время он не предоставляет вам доверенные библиотеки Replay. Изменение файлов ресурсов во время воспроизведения в настоящее время не поддерживается.

Читайте также: Вопросы и ответы на интервью с Дженкинсом

Заключение

Вот некоторые из важных вещей, которые следует помнить:

  • Вам придется использовать Groovy для написания шагов или пользовательских функций.
  • Необходимо написать шаги конвейера, которые можно вызывать из конвейеров.
  • Вам нужно создать файл в каталоге vars репозитория, который будет содержать имя вашего пользовательского шага.
  • Метод вызова def должен быть реализован параметрами вашего шага.
  • Если есть необходимость в написании общего кода Groovy, вы можете добавить его в src.
  • Вы также можете интегрировать общую библиотеку в Jenkins с помощью экрана настройки системы.

Если вам интересно узнать больше о разработке с полным стеком, ознакомьтесь с программой Executive PG upGrad и IIIT-B в разработке программного обеспечения с полным стеком, которая предназначена для работающих профессионалов и предлагает более 500 часов интенсивного обучения, более 9 проектов и заданий. , статус выпускника IIIT-B, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.

Курс разработки программного обеспечения | Освойте Java, C, Python и многое другое‎

Подать заявку на получение степени магистра в области разработки программного обеспечения