Deploy
The Code-Pipeline-Deploy-Reference outlines a 15-step process for setting up a deployment. We will follow those steps showing a sample setup for deploying Natural objects. Refer to the Code-Pipeline-Deploy-Reference guide for additional details. This section shows completed entries. Use the various Add functions to create your entries.
This section provides information about the following topics:
- 1. Define a Deployment Category
- 2. Define Deploy Types
- 3. Associate Deploy Types to Code Pipeline Types
- 4. Define Deploy System
- 5. Define a CT Server for Remote Deployment
- 6. Define a Warehouse for Staging
- 7. Define Deployment Domain
- 8. Assign Domain to Application
- 9. Define Deploy Environment
- 10. Add Targets to Deploy Sub-Environment
- 11. Add Deploy Type “Names”
- 12. Activate Deployment Environment
- 13. Indicate Deployment on Application
- 14. Indicate Implementation for Each Type
- 15. Specify Deployment Environment
- 16. Refresh the Server
- Other Deploy Notes
1. Define a Deployment Category
The following figure shows the definition for the single deployment category used in our example setup. The deploy category value is used in WZU@ACI#. The specified value must be used in the REXX code.
Example Setup on Browse Deploy Category Detail Screen
Command ===>
Deploy Category (KEY) ==> NATRDPLY Extensions ==> (Y/N)
Description ==> Natural Deploy
Press END to return
2. Define Deploy Types
We defined a deploy type for each type of Natural object. The following figure shows all of the defined types.
Defined Types on Deploy Type Table Screen
Command ===> Scroll ===> CSR
List Commands: A Add Entry, L Locate Entry, B Browse Mode
Line Commands: S Select, D Delete, M Modify, X Extensions
Deploy Deploy Deploy Type
Type Category Description
________ ________ __________________________________________________
_ NATRNATA NATRDPLY Natural Deploy Type A
_ NATRNATC NATRDPLY Natural Deploy Type C
_ NATRNATG NATRDPLY Natural Deploy Type G
_ NATRNATH NATRDPLY Natural Deploy Type H
_ NATRNATL NATRDPLY Natural Deploy Type L
_ NATRNATM NATRDPLY Natural Deploy Type M
_ NATRNATN NATRDPLY Natural Deploy Type N
_ NATRNATP NATRDPLY Natural Deploy Type P
_ NATRNATS NATRDPLY Natural Deploy Type S
******************************* Bottom of data ********************************
The following figure is a screen showing the definition for one type. The only difference between them all is the Deploy Type.
Type Definition on Browse Deploy Type Detail Screen
Command ===>
Enter required details:
Deploy Type (KEY) ==> NATRNATA Extensions ==> (Y/N)
Category ==> NATRDPLY
Content Type ==> B (T-Text, U-Unicode, B-Binary)
Statistics ==> N (Y/N)
Description ==> Natural Deploy Type A
Press END to return
3. Associate Deploy Types to Code Pipeline Types
As stated in the Code-Pipeline-Deploy-Reference: “Code Pipeline Types defined within an Application are associated with Deployment Types at the Stream level.” Here’s one association. You need one of these for each Code Pipeline Type/Deployment Type pair.
Association on Browse Stream NATR Component Type (M.ST/T) Screen
Command ===>
Enter required details:
Component Type (KEY) ==> NATA Component Domain ==>
Component Class (KEY) ==> Deployment Type ==> NATRNATA
Warehouse Storage ==>
Description ==> Parameter Data Area
*Content Type ==> B
*Generate Skeleton ==> *Test Gen. Panel ==>
*Generate Table ==> *Hold Gen. Panel ==>
*Generate Job ==> Cust Gen. Panel ==>
*Prod. Move Job ==> Hold Move Time ==> (HH:MM)
*Model DSN(MEMBER) ==>
Sandbox Allocations
DSN/Path Template ==>
Storage Type ==> (PDS)
Management Class ==> (Blank for default management class )
Storage Class ==> (Blank for default storage class )
Volume Serial ==> (Blank for no volume specification )
Device Type ==> (Generic unit or device address )
Data Class ==> (Blank for default data class )
Space Units ==> (BLKS,TRKS,CYLS,MB )
Primary Qty ==>
Secondary Qty ==>
Record Format ==> (V,F,U, etc)
Record Length ==>
Block Size ==>
Press ENTER to complete the change or END to terminate
Note: You can add a new entry by overtyping the Keys with new unique values
4. Define Deploy System
Here’s the one Deploy System for our example.
Browse Deploy System Detail Screen
Command ===>
Deploy System (KEY) ==> NATRDP Extensions ==> (Y/N)
System Type ==> MVS
Description ==> Natural Deploy
Press ENTER to complete the change or END to terminate
Note: You can add a new entry by overtyping the Key with a new unique value
5. Define a CT Server for Remote Deployment
Note that in this example (Browse Server Table Detail Screen), the CT server is set up for remote deployment. The Deploy flag is set to Y and there is a valid Socket number.
Browse Server Table Detail Screen
Command ===>
Enter required details:
Server Name (KEY) ==> ISPWPCT2
System Type ==> MVS (MVS/WIN/AIX/LINX/SUN/HPUX)
Server Type ==> CT (CT/CI/RS/CM)
Address ==> 10.100.10.205 (CT/RS Only)
Socket ==> 25000 (CT/RS Only. Restart CT/RS if changed)
CSS Socket ==> 25001 (CT Only. Restart CT if changed)
Deploy ==> Y (Y/N CT/RS Only)
Encryption ==> NONE (CT Only. Workbench encryption type)
Cross-memory ID ==> (CT Only. Cross-memory ID)
Description ==> MVS DEPLOY CT SERVER
Server Status ==> Online
Press ENTER to complete the change or END to terminate
Note: You can add a new entry by overtyping the Key with a new unique value
6. Define a Warehouse for Staging
The Code-Pipeline-Deploy-Reference recommends using a warehouse to stage the Natural objects prior to deploying them to a remote LPAR. The following figure shows the warehouse definition used in our example setup.
Warehouse Definition on the Browse Warehouse Table Detail Screen
Command ===>
Warehouse (KEY) ==> ISPWPCT2 Allocation Type ==> MVS (MVS or WIN)
CT/RS Server Name ==> ISPWPCT2 (Use WIN for all Open Systems)
Description ==> Production Staging Warehouse
WIN Path Segment . . :
or
MVS Dataset Prefix . : ISPW.CT2.DPLY.WH
(see PF1 for details of Path Segment and Dataset Prefix)
Management class . . . (Blank for default management class )
Storage class . . . . (Blank for default storage class )
Volume serial . . . . SYSDA (Blank for no volume specification )
Device type . . . . . SYSDA (Generic unit or device address )
Data class . . . . . . (Blank for default data class )
Space units . . . . . CYLINDER (BLKS,TRKS,CYLS,MB )
Primary quantity . . 150 (In above units )
Secondary quantity (In above units )
7. Define Deployment Domain
Here is the Deploy Domain for our example setup.
Browse Deploy Domain Detail Screen
Command ===>
Deploy Domain (KEY) ==> NA01 Extensions ==> (Y/N)
Description ==> Natural Deploy Domain
Press END to return
8. Assign Domain to Application
This is where you associate the deploy domain with the application. You must be in Update mode to perform this function. The following figure presents the screen showing the added domain.
Modify Application Stream Definition (M.AD) Screen
Command ===>
Enter required details:
Application ==> NATR
SubAppl ==> NATR
Stream ==> NATR
Owner ==> USER001
Description ==> Natural 8.2.7
Component Reference ==>
Deploy Domain ==> NA01
Press ENTER to complete the change or END to terminate
9. Define Deploy Environment
This step and the following two steps are closely related. You are seeing a completed setup, so you will not see the screens used to create these entries. Refer to the Code-Pipeline-Deploy-Reference for those details. The following figure is a screen shot showing a defined deploy environment, named NADPENV.
Reference Data Maintenance (M.R) Screen
Command ===> Scroll ===> CSR
List Commands: L Locate Entry, U Update Mode
Line Commands: S Select, V View
Code N/A N/A DplyEnv Vers Version Description Actv Loaded RefrReq
DV ________ ________ ________ ____ ____________________ _ _ _
__ DV 0000 INSTALL VERSION Y
__ DV NADPENV 0001 NATR 001 Y
******************************* Bottom of data ********************************
10. Add Targets to Deploy Sub-Environment
A deploy sub-environment, NADP, is shown in the following figure.
Deploy Sub-Environments Screen
Command ===> Scroll ===> CSR
List Commands: L Locate Entry, U Update Mode
Line Commands: T Targets, N Names, X Extensions
Deploy Sub System Sub Environment
Environment Env Type Description
___________ ____ ______ __________________________________________________
NADPENV NADP MVS Deploy subenv
******************************* Bottom of data ********************************
The following figure shows a target added to the deploy sub-environment.
Browse NADPENV - NADP Target Screen
Command ===>
Deploy System (KEY) ==> NATRDP Extensions ==> (Y/N)
Transport Server ==> ISPWPCT2
Warehouse Staging? ==> N (Y/N - If set to Y then a Warehouse of the same
name as the Server Name must be defined
in M.WH)
Press END to return
11. Add Deploy Type “Names”
Define an existing dataset that will contain the Natural objects that are to be deployed. This dataset must already exist and have the appropriate characteristics to house Natural objects. Here’s a screen (NADPENV - NADP Storage Names Screen) showing all of the deploy types and their storage datasets.
NADPENV - NADP Storage Names Screen
Command ===> Scroll ===> CSR
List Commands: L Locate Entry, U Update Mode
Line Commands: S Select, X Extensions
Deploy Deploy Storage Storage
Type Domain Type Name
________ ________ _______ ______________________________________________
_ NATRNATA NA01 PDS ISPW.NATR.DEPLOY.NATRNATA
_ NATRNATC NA01 PDS ISPW.NATR.DEPLOY.NATRNATC
_ NATRNATG NA01 PDS ISPW.NATR.DEPLOY.NATRNATG
_ NATRNATH NA01 PDS ISPW.NATR.DEPLOY.NATRNATH
_ NATRNATL NA01 PDS ISPW.NATR.DEPLOY.NATRNATL
_ NATRNATM NA01 PDS ISPW.NATR.DEPLOY.NATRNATM
_ NATRNATN NA01 PDS ISPW.NATR.DEPLOY.NATRNATN
_ NATRNATP NA01 PDS ISPW.NATR.DEPLOY.NATRNATP
_ NATRNATS NA01 PDS ISPW.NATR.DEPLOY.NATRNATS
******************************* Bottom of data ********************************
The following figure shows the details for one of the storage definitions.
Browse NADPENV - NADP Storage Name Screen
Command ===>
Environment (KEY) ==> NADPENV Sub Env (KEY) ==> NADP Extensions ==>
Type (KEY) ==> NATRNATA Domain (KEY) ==> NA01
Storage:
Use ==> R (Runtime/Temporary/Permanent)
Type ==> PDS Name ==> ISPW.NATR.DEPLOY.NATRNATA
No relative path appended
Adaptation Control Cards:
Type ==> Name ==>
Implementation Process:
Type ==> C Name ==>
Job ==> Start ==> A
Activation Process:
Type ==> S Name ==> ISPWPRX
Job ==> ISPWPRX Start ==> A
Sequencing:
Group ==> Seq. Number ==> 0000 Seq. Scope ==>
Press END to return
There are a number of interesting values shown. In the Implementation Process, the Type is set to C. That means the object is copied to the dataset defined in the Storage section of the screen. In the Activation Process, an RX job will perform the actual deployment. The Natural object in the Storage dataset is the thing that is deployed.
12. Activate Deployment Environment
You would need to be in Update mode in order to activate the deployment environment. The Active flag is set to Y.
Update Mode on Reference Data Maintenance (M.R) Screen
Command ===> Scroll ===> CSR
List Commands: A Add, L Locate Entry, B Browse Mode
Line Commands: S Select, D Delete, C Clone, I Import, E Export
V View, M Modify, A Activate
Code N/A N/A DplyEnv Vers Version Description Actv Loaded RefrReq
DV ________ ________ ________ ____ ____________________ _ _ _
__ DV 0000 INSTALL VERSION Y
__ DV NADPENV 0001 NATR 001 Y
******************************* Bottom of data ********************************
13. Indicate Deployment on Application
The following figure shows that deploy occurs when objects are promoted to the PRD level. Note the D value in the Impl Exit field.
Deploy on Browse Application NATR Stream NATR Level (M.AD/L) Screen
Command ===>
Level (KEY) ==> PRD Promote Analysis ==> (Y - Yes)
Next Level ==> Impact Approvals ==> (Y/S/C see help for details)
Impl Exit? ==> D (D/S/I/Y see help for details)
Warehouse for Sources : Name ==> ISPWPROD Policy ==> KEEPALLINLEVEL
Gen Types: Name ==> ISPWPROD Policy ==> KEEPALLINLEVEL
Set Scheduling Information:
Set Class ==> Job Name ==> Queue Name ==>
Failure Notify ==>
DB2 Information:
Impl Name/Rule ==> Name or Rule to determine Plan Implementation
DB2 Subsys ==> Sub-system applicable for this Level
DBRM Libs ==>
XREF Name ==> XREF Lib ==> (R or W)
Press END to return
14. Indicate Implementation for Each Type
Every Code Pipeline type participates in deploy at the PRD level, as shown in the following figure.
Application NATR Stream NATR Flags (M.AD/F) Screen
Command ===> Scroll ===> CSR
List Commands: L Locate Entry, U Update Mode
Promote Version Generate Implement Pack Keep Build
Type Clas Lev Method Control Opt Chk Opt Chk Src Memb Map
________ ____ ____ _ _ _ _ _ _ _ _ _
NATA PRD Y Y
NATC PRD Y Y
NATG PRD Y Y
NATH PRD Y Y
NATL PRD Y Y
NATM PRD Y Y
NATM PRD Y Y
NATP PRD Y Y
NATS PRD Y Y
******************************* Bottom of data ********************************
15. Specify Deployment Environment
In this final setup step, you are at the Levels in the Stream definition. You select E against the level that you’ve selected for deploy. The following screen is displayed.
Deploy Environment Implementation T Screen
Command ===> Scroll ===> CSR
List Commands: L Locate Entry, U Update Mode
Line Commands: S Select
Stream Level Environment
________ ____ ________
_ NATR PRD NADPENV
******************************* Bottom of data ********************************
Select the entry shown, and the screen in the following figure will be displayed.
Browse Deploy Environment Implement Detail Screen
Command ===>
Stream (KEY) ==> NATR Extensions ==> (Y/N)
Level (KEY) ==> PRD
Environment (KEY) ==> NADPENV
Press END to return
16. Refresh the Server
This is not part of setup, but it is something that you must do when you have completed all of the above steps: Refresh the server!
Other Deploy Notes
Make sure the RX started task has access to the target deploy dataset as defined in your deploy sub-environment.
In a multi-LPAR environment, make sure the RX started task runs on the correct LPAR.
You must define the RX DSN prefixes in the External Reference (ER) data as follows:
- RXDPLOGP – RX log DSN prefix
- RXLOGPFX – RX DSN prefix.
You may have to update REXX EXEC WZU@ACI#:
- In routine Main_Process, check for the full name of deploy category.
- In routine Process_NATRL_Item, check the deploy type starts with NATR or whatever you named your deploy types.
The database information, as defined in the extension data, must be the same on all systems. Let’s say you have the following definitions for your Code Pipeline where you perform your development. The columns are your life cycle levels, and the rows contain the database information. When you deploy to your remote systems, the database information on that system must match what you’ve defined on your development system. The deploy processing reads the database information defined on your development system. If this information does not match on all target systems, you will get failures when you deploy to them.
DEV1 | STG1 | QA | PROD | |
---|---|---|---|---|
WNAADARN | ADA010 | ADA011 | ADA012 | ADA013 |
WNADBID | 10 | 11 | 12 | 13 |
WNAFUSER | (10,9) | (11,9) | (12,9) | (13,9) |