Quale plugin dovrei usare per iniziare con Jenkins per gestire i componenti mainframe in formato PDS?


13

Supponiamo che qualcuno abbia familiarità con DevOps e mainframe, ma che sia nuovo su Jenkins , voglia iniziare con Jenkins, ad esempio per:

Dopo una sorta di (minimo) Jenkins installazione e la configurazione ottenuto completato, la domanda reale diventa " Which of the typical Jenkins plugins, if any, would be needed?". Dai vari plugin di Jenkins che sembrano avere un senso nel mio caso, sembra che questi siano possibili candidati (le citazioni provengono dalle pagine collegate):

  • IBM zOS Connector .

    ... fornisce le sue funzioni tramite connessione FTP a IBM z / OS LPAR. È possibile configurare il progetto SCLM su z / OS e quindi verificare le modifiche tramite Jenkins.

    Le caratteristiche includono:

    • Invio del lavoro JCL utente (con registro opzionale raccolto al termine).
    • Introduzione di SCLM come SCM per i tuoi progetti che consente di verificare le modifiche di SCLM.
    • La possibilità di creare progetti SCLM al momento può essere eseguita solo tramite l'azione di compilazione "Invia lavoro zOS".
  • Download del codice sorgente Compuware per Endevor, PDS e ISPW Plugin .

    ... consente agli utenti di Jenkins di scaricare i membri Endevor, PDS o ISPW dal mainframe al PC. È quindi possibile accedere all'origine sul PC, ad esempio, per l'analisi e il reporting di SonarQube.

Poiché il primo plug-in riguarda SCLM (che riguarda interamente i PDS) e il secondo plug-in afferma esplicitamente il supporto per i PDS (nel suo nome), credo che entrambi siano possibili candidati.

Quindi supponendo che la mia lista sia completa (vero?), Quali sono i pro e i contro di uno che dovrebbe aiutarmi a decidere qual è il migliore per il mio caso?

Ps: Qualcosa come un pacchetto "Jenkins Kickstart" non sembra esistere (almeno non l'ho ancora trovato).


1
Effettuando ricerche, molte ricerche e magari chiedendo qui quando c'è un insulto su un argomento specifico. Costruire una risorsa di Q / A è fantastico, ma è davvero troppo vasto.
Tensibai,

1
Alla domanda sarebbe più facile rispondere se si delinea un problema che si desidera risolvere con Jenkins. Cercare di risolvere un problema specifico è anche un buon inizio per imparare un nuovo strumento!
Michael Le Barbier Grünewald

1
@ Pierre.Vriens Ora sembra molto meglio; grazie per il montaggio. Ho votato per riaprire.
Aurora0001

1
Dopo la riflessione, non cercare di generalizzare troppo la tua domanda, descrivere il problema che stai affrontando e dove stai affrontando un muro, penso che sia il modo migliore.
Tensibai,

1
@Tensibai merci per tutti i commenti (tenta di aiutare) ... Sì "un po '" aspro, ma non preoccuparti troppo di questo (posso gestirlo). A parte questo: aspetta un nuovo tentativo di migliorare (restringendo) la mia domanda.
Pierre.Vriens

Risposte:


2

Ho impostato jenkins per gestire le tabelle mainframe. Utilizzando essenzialmente plugin di script groovy. Ho scritto codice che gestisce il movimento dei file sul mainframe e li chiama attraverso il plugin. Sfruttando essenzialmente l'API mainframe per la connessione e i comandi di vsc per spostare i file.


2

Lo slave Jenkins viene eseguito nei servizi di sistema unix di z / OS e può eseguire qualsiasi script o funzione da lì. Usiamo il plugin Git per inserire il codice sorgente su z / OS, quindi hai diverse scelte su come lavorarci. È possibile utilizzare IBM Dependency Based Build che è Groovy portato su z / OS oltre ad alcune estensioni per lavorare specificamente con funzioni z / OS native come copia su PDS (o PDSE) o copia su zFS, nonché la possibilità di eseguire MVS , TSO, ISPF comanda e invia JCL.

Inoltre, con il nuovo annuncio di Zowe Zowe.org per un nuovo progetto open source su z / OS, hai anche accesso a numerose API basate su REST che lavorano con i file ed eseguono altre attività su z / OS, come chiamare zOSMF.


Ho intenzione di farlo: archiviare tutti i file mainframe in GitHub e installare lo slave Jenkins in USS in z / OS. Durante una richiesta di commit o pull, il webhook in GitHub avvierà un lavoro Jenkins che scaricherà il file da GitHub e lo invierà a z / OS per la compilazione e il collegamento (abbiamo degli script perl per farlo ora). Cosa pensi?
Jirong Hu,

1

In generale, ci sono due modi per automatizzare le azioni di Jenkins:

  1. Installa un plugin per Jenkins e usalo nei passaggi per automatizzare le attività.
  2. Scrivi uno script (shell, python, altro) e chiamalo da un passaggio per automatizzare le attività.

Ci sono svantaggi / benefici per entrambi gli approcci. Mentre # 1 - l'approccio del plug-in - offre funzionalità predefinite e non richiede script, può essere rigido e limitato nelle sue capacità. # 2 - l'approccio di scripting - richiede di scrivere script, oltre a mantenerli, ma può fornire molta più flessibilità e libertà nell'automazione delle cose.

L'approccio di scripting utilizza generalmente molte CLI: aws cli, docker cli, ecc.

Se # 2 - l'approccio di scripting - è fattibile e ti senti a tuo agio con la scrittura di script shell o altri script come Python per interagire con il mainframe, allora Brightside può aiutarti.

Ecco un esempio dell'utilizzo di Brightside (CLI gratuita) per interagire con PDS su z / OS da uno script 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 ''

Ecco l'output di quello script:

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

Abbastanza facile da chiamare questi script da Jenkins e analizzare l'output per qualsiasi scopo.

Divulgazione completa: lavoro per CA che ha creato Brightside ma utilizziamo questa CLI internamente allo scopo esatto di integrare i test delle nostre applicazioni mainframe con Jenkins.


L'hai usato?
pulcini,

Non riesco a vedere come questo possa rispondere alla domanda anche da remoto, per favore modifica la tua risposta per spiegare come può rispondere alla domanda o la eliminerò in 24 ore
Tensibai,

Certo, aggiungerò maggiori dettagli al mio post.
Sujay Solomon,

Un'altra cosa, ti preghiamo di rivelare la tua affiliazione con l'azienda che stai promuovendo. Vedi il paragrafo di autopromozione nella nostra pagina di comportamento . Sembra un onesto tentativo di risposta, sento che manca il punto di usare un plugin integrato in jenkins per l'uso della pipeline, ma almeno non sembra più "solo promozione del prodotto".
Tensibai,

TL; DR: rispondere con un prodotto che possiedi / creare va bene quando si rivela il proprio collegamento con il prodotto e si spiega come può risolvere il problema.
Tensibai,

1

@ Pierre.Vriens, scrivi la tua domanda su "investigare la fattibilità della gestione dei dati memorizzati in file personali (PDS, ovvero set di dati partizionati) sul mainframe", è possibile utilizzare zOS Management Facility (zOSMF) fornito con z / OS sistema operativo per accedere alle API per questo. Nella risposta di Sujay, suggerisce di usare Brightside e che lo strumento attinge alle API di zOSMF per semplificare tale compito. Quindi, se si desidera collegare Jenkins al mainframe per gestire i set di dati partizionati (PDS) e i set di dati (PS), è possibile utilizzare queste API zOSMF o Brightside .

Nello spirito di divulgazione, lavoro come UX Designer per CA Technologies che costruisce Brightside.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.