Deploy
In the mainframe context, "deploy" refers to the process of installing, activating, and making software components, applications, or configurations available for use in a target environment, typically moving from development or testing stages to production. It involves transferring executable code, data definitions, and associated resources to the operational libraries and subsystems where they will run. In the mainframe context, "deploy" refers to the process of making an application, system component, or software change available for execution or use within a z/OS environment. It involves moving executable code, data definitions, configuration files, and related resources to their operational locations and activating them for production or test usage.
Key Characteristics
-
- Often involves the use of JCL (Job Control Language) to execute utility programs (e.g.,
IEBCOPY,ADRDSSU) for copying or moving datasets and members. - Applies to a wide range of artifacts, including load modules, COBOL copybooks, JCL procedures (PROCs), CICS resource definitions (RDO), DB2 DDL (Data Definition Language), and IMS DBDs/PSBs.
- Typically follows a structured software development lifecycle (SDLC), moving through environments like Development, Test, Quality Assurance, and finally Production.
- Requires careful planning, verification, and often includes rollback procedures to revert to a previous state if issues arise.
- Can be performed manually using JCL and system utilities, or highly automated through Software Configuration Management (SCM) tools like Broadcom CA Endevor or Broadcom ChangeMan ZMF.
- Often involves the use of JCL (Job Control Language) to execute utility programs (e.g.,
Use Cases
-
- Installing a new COBOL application: Deploying a compiled load module to a production
LOADLIBthat is part of a CICS region'sDFHRPLconcatenation, followed by a new copy of the program in CICS. - Updating a batch utility: Copying a new version of a JCL procedure or an executable program into a system
PROCLIBor aSTEPLIBdataset used by critical batch jobs. - Implementing DB2 schema changes: Executing SQL DDL scripts to create new tables, alter existing ones, or add indexes in a production DB2 subsystem.
- Deploying CICS resource definitions: Using CICS CEDA transactions or batch utilities to install new or updated Program, Transaction, File, or Mapset definitions into a production CICS region.
- Activating IMS database changes: Performing an ACBGEN (Application Control Block Generation) after deploying new or modified IMS DBDs (Database Descriptors) and PSBs (Program Specification Blocks).
- Installing a new COBOL application: Deploying a compiled load module to a production
Related Concepts
Deployment is a critical phase within Change Management and Software Configuration Management (SCM). SCM tools like CA Endevor or ChangeMan ZMF are specifically designed to manage, track, and automate the promotion and deployment of mainframe artifacts across different environments, ensuring version control and auditability. It heavily relies on JCL for executing the physical copy operations and interacting with system utilities and subsystems like CICS, DB2, and IMS to activate the deployed components. The target locations for deployment are typically PDS/PDSE libraries (e.g., LOADLIBs, PROCLIBs, COPYLIBs).
- Automate Deployments: Utilize SCM tools to automate the promotion and deployment process, reducing manual errors, ensuring consistency, and providing an audit trail.
- Implement Robust Testing: Thoroughly test all deployed components in lower environments (DEV, QA) that closely mirror production before deploying to the production environment.
- Maintain Clear Documentation: Document all deployment procedures, including prerequisites, steps, verification processes, and rollback plans, to ensure smooth execution and recovery.
- Schedule Strategically: Plan deployments during off-peak hours or scheduled maintenance windows to minimize impact on end-users and critical business operations.
- Version Control: Ensure all deployable artifacts are under strict version control within an SCM system, allowing for easy tracking of changes and quick rollbacks if necessary.