Suponga que alguien familiarizado con DevOps y mainframes, pero nuevo para Jenkins , quiere comenzar con Jenkins, por ejemplo:
- investigar la viabilidad de administrar los datos almacenados en archivos personales (PDS, es decir, conjuntos de datos particionados ) en el mainframe (por lo tanto, aún no, administrado por ninguna de las soluciones SCM típicas que existen para administrar el software de mainframe ).
- ejecutar Jenkins en algún tipo de entorno de desarrollo personal, por ejemplo, en un entorno Linux en Virtual Box (si eso tuviera sentido).
Después de que se completó algún tipo de instalación y configuración (mínima) de Jenkins , la pregunta real se convierte en " Which of the typical Jenkins plugins, if any, would be needed?
". De los diversos complementos de Jenkins que parecen tener sentido en mi caso, parece que estos son posibles candidatos (las citas son de las páginas enlazadas):
-
... proporciona sus funciones a través de una conexión FTP a IBM z / OS LPAR. Puede configurar su proyecto SCLM en z / OS y luego verificar los cambios a través de Jenkins.
Las características incluyen:
- Envío de trabajo JCL de usuario (con registro opcional recogido al finalizar).
- Introducción de SCLM como SCM para sus proyectos, lo que permite verificar los cambios de SCLM.
- La capacidad de construir proyectos SCLM actualmente solo se puede realizar a través de la acción de compilación 'Enviar trabajo zOS'.
Descarga del código fuente de Compuware para Endevor, PDS e ISPW Plugin .
... permite a los usuarios de Jenkins descargar miembros de Endevor, PDS o ISPW desde el mainframe a la PC. Se puede acceder a Source en la PC, por ejemplo, para análisis e informes de SonarQube.
Dado que el primer complemento se trata de SCLM (que se trata de PDSes), y el segundo complemento declara explícitamente la compatibilidad con PDSes (en su nombre), confío en que ambos son posibles candidatos.
Entonces, suponiendo que mi lista esté completa (¿lo es?), ¿Cuáles son los pros y los contras de cualquiera de los dos que deberían ayudarme a decidir cuál es el mejor para mi caso?
Ps: Algo así como un paquete "Jenkins Kickstart" no parece existir (al menos no lo he encontrado todavía).
fuente
Respuestas:
Configuré jenkins para administrar tablas de mainframe. Esencialmente utilizando un maravilloso complemento de script. Escribí un código que maneja el movimiento de archivos en el mainframe y los llamo a través del complemento. Esencialmente aprovechando la API de mainframes para conectarse y los comandos de vsc para mover los archivos.
fuente
El esclavo Jenkins se ejecuta en servicios de sistema unix de z / OS y puede ejecutar cualquier script o función desde allí. Usamos el complemento Git para extraer el código fuente en z / OS, luego tiene diferentes opciones de cómo trabajar con él. Puede utilizar IBM Dependency Based Build, que es Groovy portado a z / OS más algunas extensiones para trabajar específicamente con funciones nativas de z / OS como copiar a PDS (o PDSE) o copiar de nuevo a zFS, así como la capacidad de ejecutar MVS , TSO, comandos ISPF y enviar JCL.
También con el nuevo anuncio de Zowe Zowe.org para un nuevo proyecto de código abierto en z / OS, también tiene acceso a una serie de API basadas en REST que trabajan con archivos y realizan otras tareas en z / OS, como llamar a zOSMF.
fuente
En general, hay dos formas de automatizar acciones de Jenkins:
Hay inconvenientes / beneficios para ambos enfoques. Si bien el n. ° 1, el enfoque del complemento, le brinda una funcionalidad lista para usar y no requiere que realice un script, puede ser rígido y limitado en sus capacidades. # 2 - el enfoque de secuencias de comandos - requiere que escriba secuencias de comandos, así como mantenerlas, pero puede proporcionar mucha más flexibilidad y libertad para automatizar las cosas.
El enfoque de secuencias de comandos generalmente utiliza una gran cantidad de CLI: aws cli, docker cli, etc.
Si el n. ° 2, el enfoque de scripting, es viable y se siente cómodo escribiendo scripts de shell u otros scripts como python para interactuar con el mainframe, entonces Brightside puede ayudar.
Aquí hay un ejemplo del uso de Brightside (CLI libre) para interactuar con PDS en z / OS desde un script de shell:
Aquí está el resultado de ese script:
Es lo suficientemente fácil como para llamar a estos scripts de Jenkins y analizar la salida para cualquier propósito.
Divulgación completa: trabajo para CA que creó Brightside, pero utilizamos esta CLI internamente con el propósito exacto de integrar nuestras pruebas de aplicaciones de mainframe con Jenkins.
fuente
@ Pierre.Vriens, wrt su pregunta sobre "investigar la viabilidad de administrar los datos almacenados en archivos personales (PDS, es decir, conjuntos de datos particionados) en el mainframe". sistema operativo para acceder a las API para eso. En la respuesta de Sujay, sugiere usar Brightside y esa herramienta aprovecha las API de zOSMF para simplificar esa tarea. Entonces, si desea vincular a Jenkins al Mainframe para administrar conjuntos de datos particionados (PDS) y conjuntos de datos (PS), puede usar estas API de zOSMF o puede usar Brightside .
En el espíritu de divulgación, trabajo como diseñador de experiencia de usuario para CA Technologies que construye Brightside.
fuente