Mit welchem ​​Plugin sollte ich mit Jenkins loslegen, um Mainframe-Komponenten im PDS-Format zu verwalten?

13

Angenommen, jemand, der mit DevOps und Mainframes vertraut ist, aber noch keine Erfahrung mit Jenkins hat , möchte mit Jenkins beginnen, z. B .:

Nachdem eine Art (minimaler) Jenkins- Installation und -Konfiguration abgeschlossen ist, lautet die eigentliche Frage " Which of the typical Jenkins plugins, if any, would be needed?". Aus den verschiedenen Jenkins-Plugins, die in meinem Fall sinnvoll erscheinen, geht hervor, dass dies mögliche Kandidaten sind (Zitate stammen von den verlinkten Seiten):

  • IBM zOS Connector .

    ... stellt seine Funktionen über eine FTP-Verbindung zu IBM z / OS LPAR bereit. Sie können Ihr SCLM-Projekt unter z / OS konfigurieren und anschließend über Jenkins nach Änderungen suchen.

    Features sind:

    • Übergabe des Benutzer-JCL-Jobs (mit optionalem Protokoll, das nach Abschluss gesammelt wird).
    • Einführung von SCLM als SCM für Ihre Projekte, um SCLM-Änderungen zu überprüfen.
    • Die Funktion zum Erstellen von SCLM-Projekten kann derzeit nur über die Build-Aktion 'zOS-Job senden' ausgeführt werden.
  • Compuware-Quellcode-Download für Endevor-, PDS- und ISPW-Plugin .

    ... ermöglicht es Jenkins-Benutzern, Endevor-, PDS- oder ISPW-Mitglieder vom Mainframe auf den PC herunterzuladen. Auf die Quelle kann dann beispielsweise auf dem PC zugegriffen werden, um SonarQube zu analysieren und Berichte zu erstellen.

Da es sich beim ersten Plugin um SCLM handelt (bei dem es sich ausschließlich um PDS handelt) und beim zweiten Plugin ausdrücklich um die Unterstützung von PDS (in seinem Namen), vertraue ich darauf, dass beide mögliche Kandidaten sind.

Angenommen, meine Auswahlliste ist vollständig (oder?), Welche Vor- und Nachteile sollten mir bei der Entscheidung helfen, welche für meinen Fall am besten geeignet ist?

Ps: So etwas wie ein "Jenkins Kickstart" -Paket scheint nicht zu existieren (zumindest habe ich es noch nicht gefunden).

Pierre.Vriens
quelle
1
Durch Suchen, viel Suchen und vielleicht Fragen, wenn es zu einem bestimmten Thema eine Falle gibt. Während es großartig ist, eine Frage-Antwort-Ressource aufzubauen, ist dies wirklich zu umfassend.
Tensibai
1
Die Frage wäre einfacher zu beantworten, wenn Sie ein Problem skizzieren würden, das Sie mit Jenkins lösen möchten. Der Versuch, ein bestimmtes Problem zu lösen, ist auch ein guter Einstieg in ein neues Werkzeug!
Michael Le Barbier Grünewald
1
@ Pierre.Vriens Scheint jetzt viel besser zu sein; Danke für die Bearbeitung. Ich habe für die Wiedereröffnung gestimmt.
Aurora0001
1
Versuchen Sie nach der Reflexion nicht, Ihre Frage zu stark zu verallgemeinern, beschreiben Sie das Problem, mit dem Sie konfrontiert sind und wo Sie vor einer Wand stehen. Ich denke, das ist der beste Weg.
Tensibai
1
@Tensibai merci für alle Kommentare (Versuche zu helfen) ... Ja "ein bisschen" hart, aber mach dir darüber keine allzu großen Sorgen (damit kann ich umgehen). Abgesehen davon: warten Sie auf einen neuen Versuch, meine Frage zu verbessern (einzugrenzen).
Pierre.Vriens

Antworten:

2

Ich habe Jenkins eingerichtet, um Mainframe-Tabellen zu verwalten. Hauptsächlich mit Groovy Script Plugin. Ich habe Code geschrieben, der das Verschieben von Dateien auf dem Mainframe handhabt und sie über das Plugin aufruft. Nutzung der Mainframes-API zum Herstellen einer Verbindung und der vsc-Befehle zum Verschieben der Dateien.

Eddie
quelle
2

Jenkins Slave wird in Unix-Systemdiensten von z / OS ausgeführt und kann von dort aus ein beliebiges Skript oder eine beliebige Funktion ausführen. Wir verwenden das Git-Plugin, um den Quellcode auf z / OS zu ziehen. Dann haben Sie verschiedene Möglichkeiten, damit zu arbeiten. Sie können IBM Dependency Based Build verwenden, das auf z / OS portiert ist, sowie einige Erweiterungen, um speziell mit nativen z / OS-Funktionen wie Auf PDS kopieren (oder PDSE) oder Auf zFS zurück kopieren sowie MVS ausführen zu können , TSO, ISPF-Befehle und JCL senden.

Mit der neuen Zowe-Ankündigung Zowe.org für ein neues Open Source-Projekt unter z / OS haben Sie auch Zugriff auf eine Reihe von REST-basierten APIs, die mit Dateien arbeiten und andere Aufgaben unter z / OS ausführen, z. B. den Aufruf von zOSMF.

Rosalind Radcliffe
quelle
Ich habe vor, dies zu tun: alle Mainframe-Dateien in GitHub zu speichern und Jenkins Slave in USS in z / OS zu installieren. Während einer Commit- oder Pull-Anforderung wird vom Webhook in GitHub ein Jenkins-Job gestartet, der die Datei von GitHub herunterlädt und zum Kompilieren und Verknüpfen an z / OS sendet. Was denkst du?
Jirong Hu
1

Im Allgemeinen gibt es zwei Möglichkeiten, Aktionen von Jenkins aus zu automatisieren:

  1. Installieren Sie ein Plugin für Jenkins und verwenden Sie es in Schritten, um Aufgaben zu automatisieren.
  2. Schreiben Sie ein Skript (Shell, Python usw.) und rufen Sie es von einem Schritt aus auf, um Aufgaben zu automatisieren.

Beide Ansätze haben Nachteile / Vorteile. Während # 1 - der Plugin-Ansatz - Ihnen sofortige Funktionalität bietet und Sie kein Skript benötigen, ist es möglicherweise starr und in seinen Fähigkeiten eingeschränkt. # 2 - der Skriptansatz - erfordert, dass Sie Skripte schreiben und pflegen, bietet aber möglicherweise viel mehr Flexibilität und Freiheit bei der Automatisierung.

Bei der Skripterstellung werden im Allgemeinen viele CLIs verwendet - aws cli, docker cli usw.

Wenn # 2 - der Scripting-Ansatz - sinnvoll ist und Sie mit dem Schreiben von Shell-Skripten oder anderen Skripten wie Python für die Interaktion mit dem Mainframe vertraut sind, kann Brightside Abhilfe schaffen.

Im Folgenden finden Sie ein Beispiel für die Verwendung von Brightside (kostenlose CLI) für die Interaktion mit PDS unter z / OS über ein Shell-Skript:

    #!/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 ''

Hier ist die Ausgabe dieses Skripts:

Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

Einfach genug, um diese Skripte von Jenkins aus aufzurufen und die Ausgabe für jeden Zweck zu analysieren.

Vollständige Offenlegung: Ich arbeite für CA, die Brightside erstellt hat, aber wir verwenden diese CLI intern, um unsere Mainframe-Anwendungstests in Jenkins zu integrieren.

Sujay Solomon
quelle
Hast du es benutzt?
Küken
Ich kann nicht sehen, wie dies die Frage auch aus der Ferne beantworten kann. Bearbeiten Sie Ihre Antwort, um zu erklären, wie die Frage beantwortet werden kann, oder ich lösche sie in
24 Stunden
Klar, ich werde meinem Post mehr Details hinzufügen.
Sujay Solomon
Geben Sie außerdem Ihre Zugehörigkeit zu dem Unternehmen bekannt, für das Sie werben. Siehe den Absatz zur Eigenwerbung auf unserer Verhaltensseite . Das klingt nach einem ehrlichen Versuch zu antworten. Ich bin der Meinung, dass die Verwendung eines in Jenkins integrierten Plugins für die Verwendung in Pipelines überflüssig ist, aber es sieht zumindest nicht mehr nach "nur Produktwerbung" aus.
Tensibai
TL; DR: Die Beantwortung mit einem Produkt, das Sie besitzen / erstellen, ist in Ordnung, wenn Sie Ihren Link mit dem Produkt offenlegen und erläutern, wie das Problem gelöst werden kann.
Tensibai
1

Wenn Sie bei Pierre.Vriens die Frage nach der Durchführbarkeit der Verwaltung von Daten untersuchen, die in persönlichen Dateien (PDS, dh partitionierten Datensätzen) auf dem Mainframe gespeichert sind, können Sie die zOS Management Facility (zOSMF) verwenden, die im Lieferumfang von z / OS enthalten ist Betriebssystem für den Zugriff auf APIs. In Sujays Antwort schlägt er vor, Brightside zu verwenden. Dieses Tool greift auf die zOSMF-APIs zu, um diese Aufgabe zu vereinfachen. Wenn Sie also Jenkins an den Mainframe binden möchten, um partitionierte Datensätze (PDS) und Datensätze (PS) zu verwalten, können Sie diese zOSMF-APIs verwenden oder Brightside verwenden .

Im Sinne der Offenlegung arbeite ich als UX-Designer für CA Technologies, der Brightside erstellt.

John laPlante
quelle