メインフレームコンポーネントをPDS形式で管理するためにJenkinsを使い始めるには、どのプラグインを使用すればよいですか?


13

DevOpsとメインフレームに精通しているが、Jenkinsに不慣れな人がJenkinsを使い始めたいと思っているとします。例えば:

ある種(最小)のJenkinsのインストール設定が完了すると、実際の質問は「Which of the typical Jenkins plugins, if any, would be needed?」になります。私の場合、理にかなっているように見えるさまざまなJenkinsプラグインから、これらは可能性のある候補であるようです(引用はリンクされたページからです):

  • IBM zOSコネクター

    ... IBM z / OS LPARへのFTP接続を介してその機能を提供します。z / OSでSCLMプロジェクトを構成してから、Jenkinsを介して変更を確認できます。

    機能が含まれます:

    • ユーザーJCLジョブの送信(終了時に収集されるオプションのログを使用)。
    • SCLMの変更をチェックアウトできるようにするプロジェクトのSCMとしてのSCLMの導入。
    • SCLMプロジェクトをビルドする機能は、現在、「Submit zOS Job」ビルドアクションを介してのみ実行できます。
  • Endevor、PDS、およびISPWプラグインのコンピュウェアソースコードのダウンロード

    ... Jenkinsユーザーは、Endevor、PDS、またはISPWメンバーをメインフレームからPCにダウンロードできます。その後、たとえばSonarQubeの分析とレポートのために、PCでソースにアクセスできます。

1番目のプラグインはSCLMに関するもので(PDSがすべてです)、2番目のプラグインはPDSのサポートを(その名前で)明示的に示しているため、両方が候補であると信じています。

私の候補リストが完全であると仮定すると(それですか?)、どちらが自分のケースに最適かを判断するのに役立つどちらかの長所と短所は何ですか?

Ps:「Jenkins Kickstart」パッケージのようなものは存在しないようです(少なくとも私はまだ見つけていません)。


1
検索、多くの検索、そして特定の主題に落とし穴があるかどうかをここで尋ねることによって。Q / Aのリソースを構築することは素晴らしいことですが、それは実際には広すぎます。
テンシバイ

1
Jenkinsで解決したい問題の概要を説明する場合、質問の答えは簡単です。特定の問題を解決しようとすることも、新しいツールを学ぶ良い出発点です!
マイケルルバルビエグリューネ

1
@ Pierre.Vriensの方がずっと良いようです。編集してくれてありがとう。私は再開することに投票しました。
オーロラ0001

1
反射後、質問をあまり一般化しすぎないようにし、直面している問題と壁に直面している場所を説明してください。それが最善の方法だと思います。
テンシバイ

1
@Tensibai merci(すべてのコメント)(助けようとする試み)...はい、「少し」厳しいですが、それについてはあまり心配しないでください(私はそれを処理できます)。それとは別に:私の質問を改善(絞り込み)するための新しい試みに固執します。
Pierre.Vriens

回答:


2

メインフレームテーブルを管理するためにjenkinsをセットアップしました。基本的にgroovyスクリプトプラグインを使用します。メインフレーム上のファイルの移動を処理し、プラグインを介してそれらを呼び出すコードを作成しました。基本的にメインフレームAPIを利用して接続し、vscのコマンドを使用してファイルを移動します。


2

Jenkinsスレーブはz / OSのUNIXシステムサービスで実行され、そこから任意のスクリプトまたは機能を実行できます。Gitプラグインを使用してソースコードをz / OSにプルします。その後、さまざまな選択肢があります。Groovyがz / OSに移植されたIBM Dependency Based Buildといくつかの拡張機能を使用して、PDS(またはPDSE)へのコピーやzFSへのコピーバックなどのネイティブz / OS機能とMVSを実行する機能を特に使用できます、TSO、ISPFコマンドおよび送信JCL。

また、z / OS上の新しいオープンソースプロジェクト用の新しいZoweアナウンスメントZowe.orgを使用すると、zOSMFの呼び出しなど、z / OSでファイルを操作したり他のタスクを実行したりするRESTベースのAPIにアクセスできます。


これを行う予定です。すべてのメインフレームファイルをGitHubに保存し、Jenkinsスレーブをz / OSのUSSにインストールします。コミットまたはプルリクエスト中に、GitHubのwebhookはJenkinsジョブを開始します。JenkinsジョブはGitHubからファイルをダウンロードし、コンパイルとリンクのためにz / OSに送信します(これを行うperlスクリプトがあります)。どう思いますか?
ジロン胡

1

一般に、Jenkinsからのアクションを自動化するには2つの方法があります。

  1. Jenkinsのプラグインをインストールし、手順で使用してタスクを自動化します。
  2. スクリプト(シェル、Python、その他)を作成し、ステップから呼び出してタスクを自動化します。

両方のアプローチには欠点/利点があります。#1-プラグインアプローチ-すぐに使用できる機能を提供し、スクリプトを作成する必要はありませんが、厳格で機能が制限されている場合があります。#2-スクリプティングアプローチ-スクリプトを作成し、維持する必要がありますが、物事を自動化する際の柔軟性と自由度がはるかに高くなる場合があります。

スクリプティングアプローチでは、通常aws cli、docker cliなど、多くのCLIを使用します。

#2-スクリプティングアプローチ-が実行可能であり、シェルスクリプトまたはpythonのような他のスクリプトを記述してメインフレームと対話することに慣れている場合、Brightsideが役立ちます。

以下に、Brightside(無料のCLI)を使用して、シェルスクリプトからz / OS上のPDSとやり取りする例を示します。

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

そのスクリプトからの出力は次のとおりです。

ここに画像の説明を入力してください ここに画像の説明を入力してください

Jenkinsからこれらのスクリプトを呼び出し、目的を問わず出力を解析するのに十分簡単です。

完全な開示:Brightsideを作成したCAで働いていますが、メインフレームアプリケーションのテストをJenkinsと統合するという正確な目的のために、このCLIを内部的に使用しています。


使ったことがありますか?

これがリモートでも質問にどのように答えるかを確認できません。質問に答える方法を説明するために回答を編集するか、24時間で削除します
Tensibai

確かに、投稿に詳細を追加します。
スジェイソロモン

もう1つ、昇進している会社との関係を開示してください。行動ページのセルフプロモーションの段落をご覧ください。これは正直に答えようとしているように聞こえますが、ジェンキンスに統合されたプラグインを使用してパイプラインを使用するという点を見逃しているように感じますが、少なくとも「製品プロモーションのみ」のようには見えません。
テンシバイ

TL; DR:製品とのリンクを公開し、それがどのように問題を解決できるかを説明するとき、所有/作成する製品で答えることは問題ありません。
テンシバイ

1

@ Pierre.Vriens、「メインフレーム上の個人ファイル(PDS、つまり区分データセット)に保存されているデータの管理の実現可能性を調査する」についての質問に対して、z / OSに付属のzOS管理機能(zOSMF)を使用できますそのためのAPIにアクセスするためのオペレーティングシステム。Sujayの回答で、彼はBrightsideを使用することを提案し、そのツールはzOSMF APIを活用してそのタスクを簡素化します。したがって、Jenkinsをメインフレームに結び付けて、パーティションデータセット(PDS)とデータセット(PS)を管理する場合、これらのzOSMF APIを使用するか、Brightsideを使用できます。

開示の精神で、ブライトサイドを構築するCA TechnologiesのUXデザイナーとして働いています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.