Angenommen, jemand, der mit DevOps und Mainframes vertraut ist, aber noch keine Erfahrung mit Jenkins hat , möchte mit Jenkins beginnen, z. B .:
- untersucht die Machbarkeit in der persönlichen Verwaltung von Dateien gespeicherten Daten (PDSes, dh Datensätze aufgeteilt ) auf dem Mainframe (also nicht, noch durch eine der typischen verwalteten SCM - Lösungen existieren Mainframe - Software für die Verwaltung ).
- Jenkins in einer persönlichen Entwicklungsumgebung laufen zu lassen, zB in einer Linux-Umgebung in Virtual Box (wenn das Sinn macht).
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):
-
... 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).
quelle
Antworten:
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.
quelle
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.
quelle
Im Allgemeinen gibt es zwei Möglichkeiten, Aktionen von Jenkins aus 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:
Hier ist die Ausgabe dieses Skripts:
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.
quelle
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.
quelle