Creating z/OS® component linked versions
You can use the linked version type to create a sequence of interconnected versions that maintains the logical progression of changes.
Before you begin
- Installed the z/OS® agent and ensure that it is running.
- Ensured that a valid z/OS® component is available in the server.
About this task
Procedure
- Creating a root
version
buztool.sh createlinkedversion -v feature-1.0 -c MYCOMP -s /u/build/shiplist.xml -prop /u/version.prop -to.hash 2b1820db6bd59dd5301038cb05b8411b81732b17
- Creating a child
version
buztool.sh createlinkedversion -v feature-2.0 -c MYCOMP -s /u/build/shiplist.xml -prop /u/version.prop -from.hash 6f755de14c77c9f688fb51f3801ac1cf4744dd6e -to.hash 2b1820db6bd59dd5301038cb05b8411b81732b17
| Buztool argument | Description |
|---|---|
| createlinkedversion | The argument to create a linked version |
| -from.hash | Specifies the commit from which a build tool like IBM Dependency Based Build calculates the changed files and performs a build. The system assumes that a previous version already exists for this commit, and Deploy uses that version as the parent for the new version that you create. |
| -to.hash | Specifies the commit hash in the repository where the build runs, typically the HEAD of the branch. This commit will be mapped to the version that you are creating. |
| -parent.version | Specifies the parent version name for the version
that you are creating. This field is required only when
multiple versions exist for the commit ID specified in
the -from.hash argument. |
| -v, -version | The name of the version to create. If a version is not specified, a version name is generated from the current time stamp. The version name can contain only letters, numbers, and spaces. |
| -s, -shiplist | The location of the ship list file. |
| -c, -component | The component name in Deploy. The component name can contain only letters, numbers, and spaces. |
Results
- You can map a Git repository to one component only. Deploy enforces this rule by preventing you from creating a version in a component when a version for the same commit already exists in another component.
-
For linked versions, the
shiplistthat you use to create the version must include a non-emptydeployTypeattribute. This attribute classifies the artifacts and enables to process different artifact types separately during deployment. For example, JCL artifacts might use adeployTypevalue ofBATCH, whileDBRMartifacts might useBINDS. -
The
deployTypevalue must not contain spaces or special characters. Significantly, thedeployTypedetermines the directory name where all packaged artifacts for the version are stored. For more information on how this directory structure affects deployment behavior, see z/OS Utility. -
Before you begin using linked versions, you must select a consistent and meaningful naming convention for
deployTypeto ensure proper grouping of artifacts.
- The resource-level
deployTypetakes precedence over the container-leveldeployTypein plug-in steps such as Generate Artifact Information and Multiple Generate Artifact Information. - You can delete only those versions that do not have child versions from the Versions tab of the component.
Example
<?xml version="1.0" encoding="CP037"?> <manifest type="MANIFEST_SHIPLIST"> <container name="BLD.JCL" type="PDS" deployType="JCL"> <resource name="BLZCPBTK" type="PDSMember"/> </container> <container name="BLD.LOAD1" type="PDS" deployType="CICSLOAD"> <resource name="*" type="PDSMember"/> </container> <container name="BLD.LOAD2" type="PDS"> <resource name="ORDRSET" type="PDSMember" deployType="CICSLOAD"/> <resource name="RDBKC01" type="PDSMember" deployType="CICSLOAD"/> </container> </manifest>