Предположим, кто-то, знакомый с DevOps и мэйнфреймами, но не знакомый с Jenkins , хочет начать работу с Jenkins, например:
- исследовать выполнимость управления данными, хранящимися в личных файлах (PDS, то есть разделенных наборах данных ) на мэйнфрейме (поэтому пока не управляются какими-либо типичными решениями SCM для управления программным обеспечением мэйнфрейма ).
- запускать Jenkins в какой-либо личной среде разработки, например в среде Linux в Virtual Box (если это имеет смысл).
После того, как какая-то (минимальная) установка и настройка Jenkins была завершена, реальный вопрос становится " Which of the typical Jenkins plugins, if any, would be needed?
". Из различных плагинов Jenkins, которые, кажется, имеют смысл в моем случае, кажется, что это возможные кандидаты (цитаты из связанных страниц):
-
... предоставляет свои функции через соединение FTP с LPAR IBM z / OS. Вы можете настроить свой проект SCLM в z / OS, а затем проверить наличие изменений через Jenkins.
Особенности включают в себя:
- Отправка пользовательского задания JCL (с дополнительным журналом, собранным по окончании).
- Внедрение SCLM как SCM для ваших проектов, позволяющее оформить изменения SCLM.
- Возможность создавать проекты SCLM в настоящее время может быть выполнена только с помощью действия «Отправить задание zOS».
Загрузка исходного кода Compuware для Endevor, PDS и плагина ISPW .
... позволяет пользователям Jenkins загружать членов Endevor, PDS или ISPW с мэйнфрейма на ПК. Затем можно получить доступ к источнику на ПК, например, для анализа и отчетности SonarQube.
Так как 1-й плагин предназначен для SCLM (который все о PDS), а 2-й плагин явно заявляет о поддержке PDS (в его названии), я верю, что оба являются возможными кандидатами.
Итак, если предположить, что мой короткий список завершен (не так ли?), Каковы плюсы и минусы любого из них, которые должны помочь мне решить, какой из них лучше всего подходит для моего случая?
PS: Похоже, что-то вроде пакета «Jenkins Kickstart» не существует (по крайней мере, я его пока не нашел).
источник
Ответы:
Я настроил Дженкинса для управления таблицами мэйнфреймов. В основном используется плагин Groovy скрипт. Я написал код, который обрабатывает перемещение файлов на мейнфрейме и вызывает их через плагин. По сути, используя API мэйнфреймов для подключения и команды VSC для перемещения файлов.
источник
Подчиненный Jenkins работает в системных службах Unix z / OS и может запускать любой сценарий или функцию оттуда. Мы используем плагин Git для переноса исходного кода на z / OS, тогда у вас есть разные варианты работы с ним. Вы можете использовать IBM Dependency Based Build, который Groovy перенесен на z / OS, а также некоторые расширения, специально предназначенные для работы с собственными функциями z / OS, такими как копирование в PDS (или PDSE) или копирование обратно в zFS, а также возможность запуска MVS. , TSO, ISPF команды и отправить JCL.
Кроме того, с новым объявлением Zowe Zowe.org для нового проекта с открытым исходным кодом в z / OS у вас также есть доступ к ряду API-интерфейсов на основе REST, которые работают с файлами и выполняют другие задачи в z / OS, такие как вызов zOSMF.
источник
В общем, есть два способа автоматизировать действия от Jenkins:
У обоих подходов есть недостатки / преимущества. В то время как # 1 - плагинный подход - предоставляет вам готовые функциональные возможности и не требует от вас написания сценариев, он может быть жестким и ограниченным в своих возможностях. # 2 - подход сценариев - требует, чтобы вы писали сценарии, а также поддерживали их, но могут обеспечить гораздо большую гибкость и свободу в автоматизации вещей.
Подход сценариев обычно использует много CLI - aws cli, docker cli и т. Д.
Если # 2 - подход на основе сценариев - жизнеспособен и вам удобно писать сценарии оболочки или другие сценарии, такие как python, для взаимодействия с мэйнфреймом, то Brightside может помочь.
Вот пример использования Brightside (бесплатный CLI) для взаимодействия с PDS в z / OS из сценария оболочки:
Вот вывод этого скрипта:
Достаточно легко вызвать эти сценарии из Jenkins и проанализировать вывод для любой цели.
Полное раскрытие: я работаю в CA, которая создала Brightside, но мы действительно используем этот CLI для точной цели интеграции тестирования мэйнфреймов с Jenkins.
источник
@ Pierre.Vriens, по поводу вашего вопроса об «изучении возможности управления данными, хранящимися в личных файлах (PDS, т.е. разделенных наборах данных) на мэйнфрейме», вы можете использовать zOS Management Facility (zOSMF), поставляемую с z / OS операционная система для доступа к API для этого. В ответе Суджая он предлагает использовать Brightside, и этот инструмент использует API-интерфейсы zOSMF для упрощения этой задачи. Итак, если вы хотите привязать Jenkins к мэйнфрейму для управления разделенными наборами данных (PDS) и наборами данных (PS), вы можете использовать эти API-интерфейсы zOSMF или Brightside .
В духе раскрытия я работаю в качестве дизайнера UX для CA Technologies, который создает Brightside.
источник