假设有人熟悉DevOps和大型机,但对于Jenkins还是陌生的,想开始使用Jenkins,例如要:

调查在大型机上管理存储在个人文件(PDS,即分区数据集)中的数据的可行性(因此,尚不存在任何用于管理大型机软件的典型SCM解决方案进行管理)。
在某种类型的个人开发环境中运行Jenkins,例如在Virtual Box的Linux环境中(如果可以的话)。

完成某种(最少的)Jenkins安装和配置后,实际的问题变为“ Which of the typical Jenkins plugins, if any, would be needed?”。从对我而言似乎很有意义的各种Jenkins插件看来,这些都是可能的候选对象(引号来自链接的页面):
...通过与IBM z / OS LPAR的FTP连接提供其功能。您可以在z / OS上配置SCLM项目,然后通过Jenkins检查更改。
功能包括:

提交用户JCL作业(完成时收集可选日志)。
为您的项目引入SCLM作为SCM,允许签出SCLM更改。
当前只能通过“提交zOS Job”构建操作来执行构建SCLM项目的功能。 />

Endevor,PDS和ISPW插件的软件源代码下载。

...,Jenkins用户可以从大型机下载Endevor,PDS或ISPW成员到PC。然后可以在PC上访问源代码,例如进行SonarQube分析和报告。第二个插件明确声明支持PDS(以其名称),我相信两者都是可能的候选对象。
因此,假设我的候选清单完整(是吗?),这两个插件的利弊是什么?确定哪一个最适合我的情况?
Ps:似乎不存在“ Jenkins Kickstart”软件包(至少我还没有找到它)。

评论

通过搜索,大量搜索,甚至可能在这里询问特定主题是否存在陷阱。虽然建立Q / A资源非常棒,但实际上范围太广了。

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

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

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

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

#1 楼

我设置了詹金斯来管理大型机表。本质上是利用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.org也有了新的Zowe公告,您还可以访问许多基于REST的API,这些API处理文件并在z / OS上执行其他任务,例如作为调用zOSMF。

评论


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

–胡继荣
19年6月21日在18:30

#3 楼

通常,有两种方法可以自动执行Jenkins的操作:


安装Jenkins插件并在逐步执行任务的步骤中使用它。
编写脚本(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集成的确切目的。




评论


你用过吗?

–小鸡
18年6月12日在18:11

我看不到它怎么可能远程回答问题,请编辑您的回答以解释它如何回答问题,否则我会在24小时内删除它

–滕西拜
18年6月12日在21:36

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

– Sujay Solomon
18年6月13日在14:26

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

–滕西拜
18年6月13日在15:50

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

–滕西拜
18年6月13日在15:53

#4 楼

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

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