我应该使用哪个插件来开始使用Jenkins来管理PDS格式的大型机组件?


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更改。
    • 当前只能通过“提交zOS作业”构建操作来执行构建SCLM项目的功能。
  • Endevor,PDS和ISPW插件的Compuware源代码下载

    ...允许Jenkins用户将Endevor,PDS或ISPW成员从大型机下载到PC。然后可以在PC上访问源,例如进行SonarQube分析和报告。

由于第一个插件与SCLM有关(全部与PDSes有关),而第二个插件明确声明了对PDSes的支持(以其名义),因此我相信两者都是可能的选择。

因此,假设我的候选清单是完整的(是吗?),那么哪一个利弊都可以帮助我确定哪一个最适合我的情况?

附:似乎不存在“ Jenkins Kickstart”软件包之类的东西(至少我还没有找到它)。


1
通过搜索,大量搜索,甚至可能在这里询问特定主题是否存在陷阱。虽然建立质量保证资源非常有用,但实际上范围太广了。
Tensibai '17

1
如果您要概述要使用Jenkins解决的问题,则该问题将更容易回答。尝试解决特定问题也是学习新工具的良好开端!
Michael Le BarbierGrünewald'3

1
@ Pierre.Vriens现在看起来好多了;感谢您的编辑。我已投票决定重新开放。
Aurora0001年

1
经过refflexion之后,只是不要尝试泛泛地提出您的问题,描述您所面临的问题以及面临的障碍,我认为这是最好的方法。
Tensibai

1
@Tensibai merci提供所有评论(尝试提供帮助)...是的“有点”苛刻,但不必为此担心太多(我可以处理)。除此之外:请继续尝试改进(缩小)我的问题。
Pierre.Vriens

Answers:


2

我设置了詹金斯来管理大型机表。本质上是利用groovy脚本插件。我编写了处理大型机上文件移动的代码,并通过插件对其进行了调用。本质上是利用大型机API进行连接,以及利用vsc的命令来移动文件。


2

Jenkins从属服务器在z / OS的Unix系统服务中运行,并且可以从那里运行任何脚本或函数。我们使用Git插件将源代码提取到z / OS上,然后您可以选择如何使用它。您可以使用Groovy移植到z / OS的IBM Dependency Based Build,以及一些扩展来专门使用本机z / OS功能,例如复制到PDS(或PDSE)或复制回到zFS,以及运行MVS的能力。 ,TSO,ISPF命令并提交JCL。

同样,对于z / OS上的新开源项目,通过Zowe的新公告Zowe.org,您还可以访问许多基于REST的API,这些API可以处理文件并在z / OS上执行其他任务,例如调用zOSMF。


我打算这样做:将所有大型机文件存储在GitHub中,并在z / OS的USS中安装Jenkins slave。在提交或拉取请求期间,GitHub中的webhook将启动Jenkins作业,该作业将从GitHub下载文件并提交到z / OS进行编译和链接(我们现在有perl脚本来执行此操作)。你怎么看?
Jirong Hu

1

通常,有两种方法可以自动执行詹金斯的动作:

  1. 安装Jenkins插件,并逐步使用它来自动执行任务。
  2. 编写脚本(shell,python,其他),并从一个步骤中调用它以自动执行任务。

两种方法都有缺点/好处。尽管#1-插件方法-为您提供了即用型的功能,并且不需要您编写脚本,但它可能很死板并且功能有限。#2-脚本编制方法-要求您编写脚本并进行维护,但是在自动化过程中可能会提供更大的灵活性和自由度。

脚本编写方法通常使用许多CLI-aws cli,docker cli等。

如果#2(脚本方法)可行,并且您愿意编写Shell脚本或其他脚本(如python)与大型机交互,那么Brightside可以提供帮助。

这是一个使用Brightside(免费CLI)从shell脚本与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工作,但是我们确实在内部使用此CLI来实现将大型机应用程序测试与Jenkins集成的确切目的。


你用过吗?
小鸡

我看不到如何远程解决问题,请编辑您的回答以说明它如何回答问题,否则我将在24小时内将其删除
-Tensibai

当然,我会在帖子中添加更多细节。
Sujay Solomon

还有一件事,请透露您与所宣传公司的隶属关系。请参阅我们的行为页面中的自我促销段落。这听起来像是一个诚实的尝试,我感到它错过了使用集成在jenkins中的插件用于管道的意义,但是至少它不再像“仅产品促销”那样。
Tensibai

TL; DR:当您公开与产品的链接并说明其如何解决问题时,可以回答您拥有/创建的产品。
Tensibai

1

@ Pierre.Vriens,关于“调查在大型机上管理存储在个人文件(PDS,即分区数据集)中的数据的可行性”的问题,您可以使用z / OS随附的zOS管理工具(zOSMF)。操作系统来访问该API。在Sujay的答复中,他建议使用Brightside,并且该工具可以利用zOSMF API来简化该任务。因此,如果您想将Jenkins与大型机绑定以管理分区数据集(PDS)和数据集(PS),则可以使用这些zOSMF API或使用Brightside

本着公开的精神,我担任CA Technologies的UX设计师,负责创建Brightside。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.