使用 Ansible 部署 CICS 应用程序

首先

Ansible是一种开源的配置管理工具,是基础架构配置管理的事实标准。它可以自动化基础架构建设、应用程序部署等操作,针对各种平台进行。

2020年3月,Red Hat提供了适用于IBM Z的Ansible认证内容,通过Ansible可以管理z/OS的操作。在这里,我们将介绍如何使用Ansible在z/OS上进行CICS应用程序开发,并进行应用程序部署的方法。

在z/OS操作系统上使用Ansible

Red Hat Ansible Certified Content for IBM Z 提供了使用 Ansible 在 z/OS 上进行操作的模块。截至2023年1月,以下收藏品已提供:
– IBM z/OS 核心收藏
– IBM z/OS CICS 收藏
– IBM z/OS IMS 收藏
– IBM Z 系统自动化收藏
– IBM z/OSMF 收藏
– IBM Z HMC 收藏
在这里,我们将介绍用于 CICS 应用程序部署的收藏品 IBM z/OS 核心收藏和 IBM z/OS CICS 收藏。

另外,使用上述的z/OS集合的前提条件如下。

控制节点(Control Node)的前提条件。 (Control Node) de .)

・从Ansible 2.9开始
・从Python 2.7开始
・使用OpenSSH

前提条件是目标节点(Managed Node)。

・z/OS V2.3 及以上版本(包含z/OS OpenSSH)
・IBM Open Enterprise SDK for Python V3.8.2 及以上版本
・IBM Z Open Automation Utilities (ZOAU) V1.1.0 和 V1.1.1
・CICS TS V4.2 及以上版本(若使用z/OS CICS collection)

IBM的z/OS核心集合

image.png

IBM z/OS的CICS集合

image.png
image.png
項目名説明   cmci_hostCMCIリクエストの接続先ホスト名cmci_portCMCIリクエストの接続先ポート番号scheme接続プロトコル(HTTP/HTTPS)context接続対象のCICSplex名 (単体リージョンの場合はCICSのAPPLID)scope接続対象のCICSplex内のスコープ (単体リージョンの場合は不要)typeアクセスしたいCICS資源タイプ (リージョン情報の場合CICSRegion)

CICS应用部署场景

在开发和测试CICS应用程序时,通常会进行以下循环操作:创建/修改程序源代码→编译/联结编辑→部署到CICS(PROGRAM NEWCOPY)→执行测试→如果出现问题,则重新修改程序源代码→编译/联结编辑→…。在这个过程中,编译/联结编辑程序并在CICS中执行PROGRAM NEWCOPY需要使用TSO/ISPF、SDSF、CICS等来回切换屏幕并执行JCL或命令,可能需要花费1至2分钟甚至几分钟的时间。使用Ansible可以只通过一个命令来完成这个过程,从而可以更快地执行测试以及在源代码修改后立即进行测试,从而在循环中节省时间,并更高效地进行工作。

image.png

中文翻译选项:
1⃣现在我们首先要确认CICS程序的状态。在这里,我们使用cmci_get模块来发出INQUIRE PROGRAM命令,获取并显示程序名称、程序状态(启用/禁用)以及程序大小。如果想要更通用一些,我们可以在程序资源不存在的情况下(即程序定义未安装的情况下),通过cmci_action来安装程序定义,或者如果程序定义尚未创建,我们可以使用cmci_create来创建程序定义,根据情况进行流程分支并嵌入逻辑。

在2⃣中,使用Ansible提供的template模块,根据预先准备好的编译/关联编辑的JCL模板,设置程序名称、源库和加载模块库的信息,以创建可执行的JCL。

使用zos_job_submit模块,在第三步中将创建的可执行JCL传输到z/OS上提交作业,并获取并显示作业的执行结果。如果返回代码大于4,则表示执行错误,因此将终止playbook的处理。

如果作业成功执行,4⃣将使用cmci_action模块向CICS发送PROGRAM NEWCOPY命令,并再次获取并显示程序名称、程序状态和程序大小。

Ansible剧本实例

image.png

执行Ansible playbook

image.png
image.png

总结

以上,我们介绍了使用Ansible部署CICS应用程序的示例。编译/链接编辑程序并执行到CICS的PROGRAM NEWCOPY步骤本身不多,也不太复杂,因此即使手动进行也不会花费太多时间,时间缩短效果并不显著。但是,使用Ansible自动化操作可以减轻应用程序开发人员和运维管理员的负担,特别是在涉及创建CICS区域和涉及多个CICS资源的复杂操作中,有很多步骤或者步骤已经确定的操作。这样可以实现高效运营。

请提供参考网址

https://ibm.github.io/z_ansible_collections_doc/index.html 可以用以下方式复述:
请访问该链接以查看IBM Z Ansible Collections文档。

https://community.ibm.com/community/user/ibmz-and-linuxone/blogs/daiki-shimizu1/2020/12/04/zos-ansible-001 可以用以下方式复述:
请点击该链接以访问IBM社区中关于IBM Z和LinuxONE的博客文章,其中包含有关 z/OS Ansible 的信息。

bannerAds