Supposons que quelqu'un connaissant les DevOps et les mainframes, mais nouveau pour Jenkins , souhaite commencer avec Jenkins, par exemple pour:
- étudier la faisabilité de la gestion des données stockées dans des fichiers personnels (PDS, c'est-à-dire des ensembles de données partitionnés ) sur le mainframe (donc, pour l'instant, elles ne sont gérées par aucune des solutions SCM typiques pour la gestion des logiciels du mainframe ).
- pour exécuter Jenkins dans un certain type d'environnement de développement personnel, par exemple dans un environnement Linux dans Virtual Box (si cela a du sens).
Après qu'une sorte (minimale) d' installation et de configuration de Jenkins soit terminée, la vraie question devient " Which of the typical Jenkins plugins, if any, would be needed?
". D'après les différents plugins Jenkins qui semblent avoir du sens dans mon cas, il semble que ce soient des candidats possibles (les citations proviennent des pages liées):
-
... fournit ses fonctions via une connexion FTP à IBM z / OS LPAR. Vous pouvez configurer votre projet SCLM sur z / OS, puis vérifier les modifications via Jenkins.
Les fonctionnalités incluent:
- Soumission du travail JCL utilisateur (avec journal optionnel collecté à la fin).
- Introduction de SCLM en tant que SCM pour vos projets permettant de récupérer les modifications SCLM.
- La possibilité de créer des projets SCLM actuellement ne peut être effectuée que via l'action de génération «Soumettre un travail zOS».
Téléchargement du code source Compuware pour Endevor, PDS et ISPW Plugin .
... permet aux utilisateurs de Jenkins de télécharger les membres Endevor, PDS ou ISPW du mainframe vers le PC. La source peut alors être consultée sur le PC, par exemple, pour l'analyse et le rapport SonarQube.
Étant donné que le 1er plugin concerne SCLM (qui concerne uniquement les PDS) et que le 2e plugin indique explicitement la prise en charge des PDS (en son nom), j'espère que les deux sont des candidats possibles.
Donc, en supposant que ma liste est complète (n'est-ce pas?), Quels sont les avantages et les inconvénients de l'un ou l'autre qui devraient m'aider à décider lequel convient le mieux à mon cas?
Ps: quelque chose comme un paquet "Jenkins Kickstart" ne semble pas exister (du moins je ne l'ai pas encore trouvé).
la source
Réponses:
J'ai configuré jenkins pour gérer les tables mainframe. Utilisant essentiellement un plugin de script groovy. J'ai écrit du code qui gère le mouvement des fichiers sur le mainframe et les appelle via le plugin. Exploiter essentiellement l'API mainframes pour se connecter et les commandes du vsc pour déplacer les fichiers.
la source
L'esclave Jenkins s'exécute dans les services système unix de z / OS et peut exécuter n'importe quel script ou fonction à partir de là. Nous utilisons le plugin Git pour extraire le code source sur z / OS, puis vous avez différents choix sur la façon de travailler avec. Vous pouvez utiliser IBM Dependency Based Build qui est porté par Groovy vers z / OS plus certaines extensions pour travailler spécifiquement avec des fonctions natives z / OS telles que la copie vers PDS (ou PDSE) ou la copie vers zFS, ainsi que la possibilité d'exécuter MVS , TSO, ISPF et soumettez JCL.
De plus, avec la nouvelle annonce Zowe Zowe.org pour un nouveau projet open source sur z / OS, vous avez également accès à un certain nombre d'API basées sur REST qui travaillent avec des fichiers et effectuent d'autres tâches sur z / OS, comme appeler zOSMF.
la source
En général, il existe deux façons d'automatiser les actions de Jenkins:
Les deux approches présentent des inconvénients / avantages. Alors que # 1 - l'approche plugin - vous offre des fonctionnalités prêtes à l'emploi et ne nécessite pas de script, il peut être rigide et limité dans ses capacités. # 2 - l'approche de script - vous oblige à écrire des scripts, ainsi que de les maintenir, mais peut fournir beaucoup plus de flexibilité et de liberté dans l'automatisation des choses.
L'approche de script utilise généralement beaucoup de CLI - aws cli, docker cli, etc.
Si # 2 - l'approche de script - est viable et que vous êtes à l'aise avec l'écriture de scripts shell ou d'autres scripts comme python pour interagir avec le mainframe, alors Brightside peut vous aider.
Voici un exemple d'utilisation de Brightside (CLI gratuite) pour interagir avec PDS sur z / OS à partir d'un script shell:
Voici la sortie de ce script:
Assez facile pour appeler ces scripts à partir de Jenkins et analyser la sortie dans n'importe quel but.
Divulgation complète: je travaille pour CA qui a créé Brightside mais nous utilisons cette CLI en interne dans le but exact d'intégrer nos tests d'application mainframe avec Jenkins.
la source
@ Pierre.Vriens, par rapport à votre "enquête sur la faisabilité de la gestion des données stockées dans des fichiers personnels (PDS, c'est-à-dire des ensembles de données partitionnés) sur le mainframe", vous pouvez utiliser zOS Management Facility (zOSMF) fourni avec le z / OS système d'exploitation pour accéder aux API pour cela. Dans la réponse de Sujay, il suggère d'utiliser Brightside et cet outil puise dans les API zOSMF pour simplifier cette tâche. Donc, si vous souhaitez lier Jenkins au mainframe pour gérer les ensembles de données partitionnés (PDS) et les ensembles de données (PS), vous pouvez utiliser ces API zOSMF ou vous pouvez utiliser Brightside .
Dans un esprit de divulgation, je travaille en tant que concepteur UX pour CA Technologies qui construit Brightside.
la source