¿Qué complemento debo usar para comenzar a usar Jenkins para administrar componentes de mainframe en formato PDS?


13

Suponga que alguien familiarizado con DevOps y mainframes, pero nuevo para Jenkins , quiere comenzar con Jenkins, por ejemplo:

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):

  • IBM zOS Connector .

    ... 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).


1
Al buscar, buscar mucho, y tal vez preguntar aquí cuando hay un escollo sobre un tema específico. Si bien construir un recurso de preguntas y respuestas es excelente, realmente es demasiado amplio como es.
Tensibai

1
La pregunta sería más fácil de responder si esbozara un problema que desea resolver con Jenkins. ¡Intentar resolver un problema específico también es un buen comienzo para aprender una nueva herramienta!
Michael Le Barbier Grünewald

1
@ Pierre.Vriens Parece mucho mejor ahora; Gracias por editar. He votado para reabrir.
Aurora0001

1
Después de la reflexión, simplemente no intente generalizar demasiado su pregunta, describa el problema que enfrenta y dónde enfrenta una pared, creo que esa es la mejor manera.
Tensibai

1
@Tensibai merci por todos los comentarios (intentos de ayudar) ... Sí "un poco" duro, pero no te preocupes demasiado por eso (puedo manejar eso). Aparte de eso: espera un nuevo intento de mejorar (reducir) mi pregunta.
Pierre.Vriens

Respuestas:


2

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.


2

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.


Planeo hacer esto: almacenar todos los archivos de mainframe en GitHub e instalar el esclavo Jenkins en USS en z / OS. Durante una solicitud de confirmación o extracción, el webhook en GitHub iniciará un trabajo de Jenkins que descargará el archivo de GitHub y lo enviará a z / OS para compilarlo y vincularlo (tenemos scripts en perl para hacerlo ahora). ¿Qué piensas?
Jirong Hu

1

En general, hay dos formas de automatizar acciones de Jenkins:

  1. Instale un complemento para Jenkins y úselo en pasos para automatizar tareas.
  2. Escriba un script (shell, python, otro) y llámelo desde un paso para automatizar tareas.

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:

    #!/bin/sh
    echo 'bright files create classic "USER.PUBLIC.SAMPLE.PDS"'
    bright files create classic "USER.PUBLIC.SAMPLE.PDS"
    echo ''

    echo 'bright files download all-members "USER.LIB.SAMP" -d MyPDS'
    bright files download all-members "USER.LIB.SAMP" -d MyPDS
    echo ''

    echo 'bright files upload dir-to-pds MyPDS "USER.PUBLIC.SAMPLE.PDS"'
    bright files upload dir-to-pds MyPDS "USER.PUBLIC.SAMPLE.PDS"
    echo ''

    echo 'bright files list all-members "USER.PUBLIC.SAMPLE.PDS"'
    bright files list all-members "USER.PUBLIC.SAMPLE.PDS"
    echo ''

    echo 'bright files delete data-set "USER.PUBLIC.SAMPLE.PDS(ALLOCLIB)" -f'
    bright files delete data-set "USER.PUBLIC.SAMPLE.PDS(ALLOCLIB)" -f
    echo ''

    echo 'bright files list all-members "USER.PUBLIC.SAMPLE.PDS"'
    bright files list all-members "USER.PUBLIC.SAMPLE.PDS"
    echo ''

    echo 'bright files delete data-set "USER.PUBLIC.SAMPLE.PDS" -f'
    bright files delete data-set "USER.PUBLIC.SAMPLE.PDS" -f
    echo ''

Aquí está el resultado de ese script:

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

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.


¿Lo has usado?
pollitos

No veo cómo esto puede responder la pregunta incluso de forma remota, edite su respuesta para explicar cómo puede responder la pregunta o la eliminaré en 24h
Tensibai

Claro, agregaré más detalles a mi publicación.
Sujay Solomon

Una cosa más, por favor revele su afiliación con la compañía que está promocionando. Vea el párrafo de autopromoción en nuestra página de comportamiento . Esto suena como un intento honesto de responder, creo que pierde el punto de usar un complemento integrado en jenkins para el uso de la canalización, pero al menos ya no parece 'solo promoción de producto'.
Tensibai

TL; DR: contestar con un producto que usted posee / crea está bien cuando revela su enlace con el producto y explica cómo puede resolver el problema.
Tensibai

1

@ 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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.