java中rational_迁移到z / OS中的Rational Team Concert

Rational Team Concert催生了许多博客,论坛和其他文档,但是对于z / OS开发人员从当前源代码管理系统迁移到Rational Team Concert的支持不足。

本文介绍了Rational Team Concert的存储库体系结构和用于源代码管理和协作开发的概念框架。 它包括用于从当前源代码管理解决方案迁移到z / OS上的Rational Team Concert的逐步指南,以及有助于确保成功进行源代码迁移的计划指南。

迁移策略

作为z / OS开发人员,您可能想知道迁移的麻烦是否值得,特别是如果您当前的系统运行良好的话。 如果您需要做的只是在功能代码存储库中管理源代码,那么Rational Team Concert可能会比您需要的平台更多。 如果您打算对整个开发过程进行大修和现代化,那么可能需要比Rational Team Concert单独提供的更多功能。

Rational Team Concert不仅是源代码管理解决方案; 它还管理流程,计划和工作项,如图1所示。

图1. Rational Team Concert概述

Rational Team Concert在同一存储库中同时管理分布式和z / OS源代码的能力使整体上集成的源代码管理解决方案更加全面。 迁移也是审查您的开发过程的机会,尤其是对于有效的团队协作而言。 如果您发现自己在分散的团队中管理复杂的项目,则可能还希望集成“协作生命周期管理”组件。

了解Rational Team Concert

Rational Team Concert比大多数源代码管理系统更强大,并且也更复杂。 大多数大型机源存储库使用数据集和成员来存储代码,而Rational Team Concert将代码存储在数据库存储库中的项目,文件夹和文件中。 为了在z / OS中构建代码,将这些工件复制到z / OS数据集中。

表1介绍了Rational Team Concert中使用的一些术语。

表1. Rational Team Concert术语
术语 描述
项目 一个Eclipse项目,其中包含组织为文件夹和文件的相关工件。
沙盒 作为文件夹存储在硬盘上的工作空间(即本地Eclipse工作空间)。 它包含您当前正在处理的项目。 对于Rational Team Concert ISPF客户端,沙箱是具有相同HLQ.MLQ的数据集的集合。
Rational Team Concert是基于流的存储库,其中不同的流将保存各种代码分支。 例如,您可以使用不同的流来表示每个代码版本。
仓库工作区 这是存储库中用户的私有区域,他们可以从其沙箱中检入代码。 它与特定的流一起流动,这意味着代码从工作空间传递到该流。 可以将流中的代码接受到存储库工作区,该工作区还会更新沙箱中已加载的代码。
零件 组件是相关项目的集合。 组件可用于控制访问权限并促进共享和重用。 流由许多组件组成。 每个组件可以在多个流之间共享,例如,产品的两个不同版本可能包含相同的组件。
变更集 一个工作单元,包含在某个时间点交付的相关代码更改的集合。
分享 共享将新的工件从沙盒推送到存储库工作空间。
加载 负载将选定的工件从存储库工作区拉到沙箱(同样是Eclipse工作区或MVS数据集)。
接受 将以前由其他开发人员交付给流的新变更集拉到存储库工作区。 如果更改集与沙箱中加载的项目相关,则沙箱将自动更新。
报到 将本地更改从沙箱中推送到存储库工作区中,以创建或修改更改集。
交货 将已签入的更改集从存储库工作区推送到流。

图2显示了如何针对Rational Team Concert对象执行表1中描述的操作。

图2. Rational Team Concert中的源代码控制
java中rational_迁移到z / OS中的Rational Team Concert_第1张图片
java中rational_迁移到z / OS中的Rational Team Concert_第2张图片

安装Rational Team Concert

IBM Knowledge Center提供了有关安装Rational Team Concert的指示信息。 但是,如果您对要安装的组件一无所知,那么浏览安装会造成混乱。 在指导您完成基本过程时,我们还将尝试使关键组件神秘化,并帮助您确定所需的组件。

Rational Team Concert只是连接到数据库的应用程序服务器中运行的众多应用程序之一。 例如,Jazz Team Server可以使用DB2 for z / OS作为数据库在z / OS的Liberty上运行。 Rational Team Concert是协作生命周期管理解决方案 (CLM)套件的一部分,并且它还提供了各种客户端和构建代理,如图3所示。

图3. Rational Team Concert的体系结构
java中rational_迁移到z / OS中的Rational Team Concert_第3张图片
java中rational_迁移到z / OS中的Rational Team Concert_第4张图片

步骤1.安装Jazz Team Server

迁移到Rational Team Concert的第一步是安装Jazz Team Server。 现在,首先打开《 Rational Collaborative Lifecycle Management 交互式安装指南》中的安装说明。

在开始安装之前,需要确定要在哪个平台上安装服务器,以及将存放数据的存储库放在何处。 本指南中的一节讨论了各种拓扑。 为了便于讨论,我们建议在z / Linux和DB2 for z / OS上安装Jazz Team Server。

以该拓扑为例,我们可以使用《交互式安装指南》逐步完成安装。 选择表2中指定的选项,将为您提供有关在Linux上的z系统上安装服务器的说明,该系统以WebSphere Liberty Server的身份运行,并带有DB2 for z / OS存储库数据库。

表2.交互式安装指南
在z / Linux上安装Jazz Team Server
选项 选拔
选择您的应用程序服务器的操作系统 Linux for System z
选择设置方法 自定义设置
选择一个或多个应用程序进行安装 Jazz Team Server更改和配置管理
可选应用程序(单独的许可证) 不要选择
配套应用 不要选择
爵士报告服务 不要选择
选择您的数据库服务器 IBM DB2 z / OS版
选择您的用户注册表类型 LDAP
您要配置数据仓库吗? 没有

2.在z / OS上安装Rational Team Concert

下一步是在z / OS上安装Rational Team Concert组件。 您可以从IBM知识中心获得基本的安装说明 。 此页面上的安装清单将指导您完成组件安装。 您还可以使用基于ISPF的配置实用程序 ,该实用程序可让您在一个位置输入所有变量,然后生成要安装的组件的工作流程。 使用工作流程有助于确保您完成每个安装步骤。

首次打开安装时,安装的FMID数量可能会让您有点不知所措。 如果要在非z / OS平台上安装Jazz Team Server,则实际上只需要安装其中的少数几个。 这是Rational Team Concert v6.0.2的FMID。

表3. z / OS上的Rational Team Concert所需的FMID
FMID 名称 描述
HRCC602 共同组成 SMP / E职位; 配置实用程序; DB2卸载/重新加载作业; 其他常见工作和样品
HRBT602 构建工具包 构建工具包; 导入 ISPF客户
HRBA602 建立代理 Rational Build Agent
HRDV602 作业监视器 RDz作业监视器(可选)

接下来,您可能想知道需要哪些组件。 如果要运行z / OS构建(包括编译,汇编,链接编辑等),则将需要安装上述所有FMID,但作业监视器除外。 如果您已经安装了RDz,那么Rational Team Concert将能够使用您当前的Job Monitor。 表4描述了表3中FMID下安装的每个组件。

表4. Rational Team Concert z / OS安装的必需组件
零件 描述
配置实用程序 基于ISPF的实用程序,可帮助进行配置。 包含一个IVP以协助解决安装问题。
生成工具包 HFS中的一组目录,其中包含Rational Team Concert驱动编译和构建活动所需的jar文件。
导入 协助将代码从分区数据集(PDS)迁移到Rational Team Concert存储库的工具。
ISPF客户 基于ISPF的对话框,用于执行源代码管理操作,例如编辑,签入,交付和构建基于z / OS的构件。
Rational Build Agent 在z / OS上运行以与Rational Team Concert Server提供通信的进程,以便可以将代码转移到z / OS上,并且进程可以在此源上运行。

步骤3.配置ISPF网关

Rational Team Concert可以直接执行许多进程,但是某些过程需要从REXX可执行文件执行。 为此,您需要配置ISPF网关 。 网关可以将TSO / ISPF执行程序作为构建过程执行。 尽管ISPF编辑器和对话管理器是安装的标准部分,但您可能希望仅为Rational Team Concert配置ISPF网关。 请参阅IBM知识中心以获取配置说明 。

步骤4.在z / OS上配置Rational Team Concert组件

安装所有必需的FMID之后,您可以配置必需的组件。 最简单的方法是使用基于ISPF的配置实用程序 。 安装该实用程序之后,可以使用文档页面上的指示信息来运行该实用程序并为z / OS配置所选的Rational Team Concert组件。

现在,您应该已经安装并配置了Jazz Team Server以及使用Rational Team Concert管理和构建源代码所需的所有基于z / OS的组件。 接下来,我们将研究用于管理Rational Team Concert中的源代码的各种工具。

Rational Team Concert中的源代码管理

Rational Team Concert中的大型机源存储在称为zProject的特定类型的Eclipse项目中。 源代码通常存储在Rational Team Concert中的UTF-8中。 在将其加载到大型机进行构建时或通过使用ISPF客户端将其转换为EBCDIC。

图4. zProject的结构
java中rational_迁移到z / OS中的Rational Team Concert_第5张图片
java中rational_迁移到z / OS中的Rational Team Concert_第6张图片

zProjects映射到z / OS中的数据集和成员。 zFolders通过使用数据集定义映射到数据集。 zFiles映射到那些数据集中的成员。 另外,zFiles与语言定义相关联,该语言定义告诉Rational Team Concert如何构建该成员。

系统定义和构建工件

Rational Team Concert不使用JCL(作业控制语言)来控制构建。 相反,构建是由基于Ant的工具驱动的,从而确保可以在z / OS和分布式平台上使用一组通用的构建工具。 但是,您不必熟悉Ant即可使用Rational Team Concert进行源代码管理。 Rational Team Concert提供了向导和对话框,可用于配置系统定义和构建构件。 表5描述了您将在Rational Team Concert中使用的不同类型的系统定义。

表5. Rational Team Concert中的系统定义
定义 描述
数据集定义 描述数据集,并允许在存储库中进行单个定义。 这可以是输入数据集,输出数据集,现有数据集或临时数据集。 在构建期间,如果数据集不存在,那么Rational Team Concert将使用该定义来创建它。 这类似于JCL中的DD。
语言定义 与零件相关联以构建零件的过程。 例如,COBOL编译过程中可能包含两个步骤:一个编译步骤和一个链接编辑步骤。 语言定义类似于具有一个或多个步骤的JCL过程。
译者 构建过程中的每个步骤(例如,编译步骤)都称为翻译器。 将翻译器视为JCL过程中的单个步骤。

除了系统定义之外,您还将使用向导来创建定义构建范围和位置的定义。 表6描述了两种不同类型的构建工件。

表6. Rational Team Concert中的构建工件
定义 描述
构建定义 向Rational Team Concert定义流中的哪些组件将在构建范围内,将要处理哪些语言定义,以及在高级限定符中加载源代码并在其中生成构建输出。 您也可以使用此定义来设置特定于构建的属性。
构建引擎 服务器上的定义,该定义指向运行Rational Build Agent的z / OS主机和端口。

创建系统定义

您可以使用Rational Team Concert的系统定义对话框来创建数据集定义,语言定义和翻译器,如图5所示。

图5. Rational Team Concert中的系统定义
java中rational_迁移到z / OS中的Rational Team Concert_第7张图片
java中rational_迁移到z / OS中的Rational Team Concert_第8张图片

首次设置系统定义时,最好使用系统定义XML。 使用XML(而不是对话框)进行操作,使您可以修改和重新加载定义,直到定义完成。 XML中的定义也可以轻松地加载到另一个系统上。

请参阅Rational Team Concert企业扩展构建管理研讨会,以获取系统定义工具包和有关在XML文件中编辑系统定义的说明。 该研讨会深入探讨了构建管理的许多方面,因此我们建议您花一些时间来完成它。 请注意,您需要登录Jazz.net才能访问研讨会。

规划源代码迁移

您已经掌握了一切,并且对如何在Rational Team Concert中使用源代码有基本的了解。 剩下要做的就是迁移代码。 从旧的大型机源代码管理系统到Rational Team Concert的成功迁移涉及多个计划阶段。 我们将概述每个阶段的活动。

迁移之前

定义流的结构

可以被认为是产品的特定版本或产品的一部分。 为了使依赖关系构建成功,流需要包含编译或构建资源所需的所有源代码,例如,程序所需的所有副本。 在另一方面,甲流并不需要包含运行时库如CICS习字,其构建系统会发现构建机器上。 定义包含所有内容的大型流很诱人,但不是一个好习惯。 最好定义较小的流,范围仅限于应用程序或一组相关应用程序。

定义流中组件的结构

基于组件的设计对每种语言均有效。 将相关的工件或项目放在一起,以便使组件从多种角度有意义:代码重用,构建操作和团队共享。 考虑由许多不同的应用程序使用的公共接口的示例:如果您使用的范围仅限于一组应用程序的流,则流可能需要包含另一个流中包含的应用程序的公共接口。 。 优良作法是将公共接口隔离在一个专用组件中,然后多个方可以访问和使用。 在此设置中,您还可以定义和实施共享和采用新版本公共接口的方式。

定义交货流程

您将需要定义从开发到生产交付的流程。 您可以在一个流中完成所有工作,随着时间的流逝,这些流将逐渐成熟并准备好宣布为GA(这是我们在Rational Team Concert中开发的方式),或者您可以定义流的层次结构(例如Prod,QA,Test,开发人员),并建立通过层次结构提升代码的标准。

尽管Rational Team Concert的升级功能非常适合层次结构,但它支持这两种策略。 也可以升级仅源代码或源代码和二进制文件。 对于二进制文件,将在目标级别更新升级零件的构建元数据。

识别您的语言定义

Rational Team Concert的系统定义允许您仅在一个地方描述构建步骤,并将其应用于整个系统。 您需要定义的第一个系统定义是语言定义。 在Rational Team Concert中,语言定义将与每个可构建部分相关联。

清点遗留系统时,可能会发现比Rational Team Concert要支持的程序类型更多的组合。 重要的是将这些组合减少为与功能相关的组合。 转换器提供了一种称为转换器变量的机制,可以在程序级别进行设置,并提供一种管理异常的方法(例如,当给定的程序适合给定的语言定义但需要附加的构建选项时)。 在单独的项目区域中定义系统定义也是个好主意,然后,该定义对RTC存储库中的其他项目区域将是可见的。 如果不同的项目区域共享相似的构建过程,这将很有用,因为它避免了重复。

调整系统定义和您的构建

定义语言定义后,将通过使用程序的代表性子集来反复使它们真正起作用。 通常,这些步骤在测试服务器上发生。 感到舒适之后,您可以导出系统定义,并将其导入生产服务器中,在该服务器中运行更有限的嗅探测试。

迁移期间

定义要导入的基线,以便可以捕获Rational Team Concert SCMS中的历史记录。 这将使您能够存储资源历史记录。 更重要的是,它将使您可以对组件进行基线设置或对流进行快照,以便您可以查看系统的历史视图,并在该级别同步所有资源。 (例如,包含数千个程序的应用程序的发行版23的快照将包含用于构建发行版23的源的版本。)

您应该在旧版源代码管理系统中标识要在Rational Team Concert SCM中迁移的历史内容以及所涉及的基线。 基线之间的所有文件都不必相同。 如果它们相同,则将是Rational Team Concert中两个基线之间共享的文件状态相同。

将基准从旧系统导入正确的组件或项目

SCM命令行在zImport on z/OS包含一个名为zImport on z/OS的命令。 zImport将映射文件作为输入,这使您可以定义要导入的文件,应将文件放在何处以及与之关联的语言定义。 正确调整映射文件很重要,以便对已设置的组件实施规则。

迭代以捕获所需的历史记录直到当前版本

zImport API接受一个可选参数,该参数是用于初始zImport的存储库工作区。 为了在Rational Team Concert中创建历史记录和基线,您需要从较旧的工件开始,将它们放入一组分区数据集中,然后触发zImport。 然后,将这些成员替换为下一个基准,并使用相同的工作空间触发zImport。 这将在两个基线之间创建具有相应更改集的增量。 进行迭代,直到达到当前版本。

zImport的替代方法是使用ISPF客户端导入完整的分区数据集。 ISPF客户端不在本文讨论范围之内,但Jazz.net上有许多有关ISPF客户端的教程和视频。

设置翻译器变量

如果要处理异常,例如需要特定编译器选项的文件,则需要使用变量设置翻译器。 该变量的值需要由异常中的相应文件提供。 有关转换器变量的更多信息,请参见z / OS文档或developerWorks博客文章“ 使用转换器变量控制条件过程 ”。

迁移后

创建您的构建定义

构建定义向Rational Team Concert描述了构建什么。 z / OS Dependency构建会从语言定义列表中进行选择,并会从中生成将要运行的构建脚本。 构建定义定义了存储库工作区,该工作区流到包含源代码的团队流。 构建定义包含高级限定符,在该限定符中加载源代码并在其中生成构建输出。 您还可以设置特定于构建的属性。

构建定义指向构建引擎(类型=理性构建代理)。 与z / OS构建有关的构建引擎是服务器上的定义,该定义指向运行Rational Team Concert构建代理的z / OS主机和端口。

运行在z / OS上的构建代理是在Unix系统服务中运行的任务,它等待来自构建引擎的请求。 这是服务器和z / OS之间的双向通信。 通过运行startbfa.sh启动并由配置实用程序配置的构建代理包含Jazz用户名和密码。 该构建用户必须可以读取存储库工作空间。

运行构建

将代码迁移到Rational Team Concert之后,您可以使用依赖关系构建或模拟构建来生成资源的构建元数据。 模拟构建允许将来的依赖关系构建仅构建自迁移以来已更改的部分。

结论和下一步

本文提供了许多指向文档和视频的链接,这些链接应该可以帮助您开始使用Rational Team Concert。 最好的开始是安装和配置推荐的基于z / OS的FMID,然后通过Rational Team Concert企业扩展构建管理工作室进行工作 。 该研讨会将引导您完成在桌面上设置测试服务器并将其配置为与z / OS系统交互的所有方面。


翻译自: https://www.ibm.com/developerworks/library/d-migrating-rational-team-concert-zos-trs/index.html

你可能感兴趣的:(大数据,编程语言,数据库,python,linux)