Общая библиотека Дженкинса: пристальный взгляд [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, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.
