Utilities for Development and Operations for GenevaERS
- Enter the z/OS UNIX environment (also known as UNIX System Services, or USS). Do this by entering the following on the Git Bash command line:
Example:
ssh <your-tso-id>@<server-name>ssh jsmith@test.ibm.com - Establish a directory to house the .jar files that are required to build the Performance Engine. (This is known as the "GERS JARS" directory.)
- If you ARE NOT the GenevaERS system administrator for your site:
- Obtain the name of the GERS JARS directory from your GenevaERS system administrator.
- If you ARE the GenevaERS system administrator for your site:
- Create a directory. Example:
mkdir /u/GenevaERS/gersjars - Copy IBM JZOS .jar files to the directory.
- If the Performance Engine will be using IBM Db2, copy Db2 .jar files to the directory.
- Inform other GenevaERS developers at your site of the name of the GERS JARS directory.
- Create a directory. Example:
- If you ARE NOT the GenevaERS system administrator for your site:
- Create a directory to house the .jar files for the Run-Control App. Example:
mkdir /u/<your-tso-id>/RCA - In your z/OS UNIX home directory, create a subdirectory for storing the GenevaERS Git repositories. Example:
mkdir /u/<your-tso-id>/git/GenevaERS - Clone the DevOps repository to your Git directory.
- Find the file .gers.profile in the DevOps directory and copy it to your z/OS UNIX home directory. Open this copy in a text editor. (We recommend using ISPF option 3.17 for this.)
- Follow the instructions in .gers.profile and update your environment variables with the appropriate values.
Note: GERS_GIT_REPO_DIR should match the directory created in step 4. - Save and close .gers.profile.
- Open the .profile file that is in your z/OS UNIX home directory (if it doesn't exist, create it), and add the following line:
. ~/.gers.profile
- Get the latest copy of the DevOps directory.
- Change to the GenevaERS directory.
- Remove the existing DevOps directory:
rm -rf DevOps- Clone the DevOps repository, For example, using SSH:
git clone git@github.com:genevaers/DevOps.git- Change to the DevOps directory:
cd DevOps - Check out the branch you require, for example:
git checkout V4 - Edit and save the appropriate environment variables in ~/.gers.profile to:
- set the build version number
- point to the required repository branches
For example:
export GERS_BUILD_VERSION='4' export GERS_BUILD_MAJOR='18' export GERS_BUILD_MINOR='099' export GERS_BRANCH_PE="PM_4.18.099.B0123_branch" export GERS_BRANCH_PEX="PM_4.18.099.B0123_branch" export GERS_BRANCH_RCA="PM_4.18.099.B0123_branch"- Review the environment variables that determine where the build output will be. For example:
export GERS_BUILD_HLQ="GENEVA.$LOGNAME" export GERS_ENV_HLQ="GENEVA.$LOGNAME" export GERS_RCA_JAR_DIR="$HOME/RCA"
Note that $LOGNAME will resolve to the user ID of the person running the build script, and $HOME to their home directory. See Results of the Build for more information.
- To run the build enter the following:
./build.sh
This will start a series of scripts and jobs which will build the Performance Engine then run the regression tests.
The build process generates tagging scripts and JCL.
The build will create data sets based on the environment variables specified in .gers.profile . For example:
export GERS_BUILD_VERSION='4'
export GERS_BUILD_MAJOR='18'
export GERS_BUILD_MINOR='099'
In conjunction with the build HLQ:
export GERS_BUILD_HLQ='GENEVA.USERID'
Will produce:
GENEVA.USERID.PM418099.B0001.ADATA
GENEVA.USERID.PM418099.B0001.ASM
GENEVA.USERID.PM418099.B0001.ASMLANGX
GENEVA.USERID.PM418099.B0001.ENV
GENEVA.USERID.PM418099.B0001.GVBDBRM
GENEVA.USERID.PM418099.B0001.GVBLOAD <-- load library
GENEVA.USERID.PM418099.B0001.JCL
GENEVA.USERID.PM418099.B0001.LINKPARM
GENEVA.USERID.PM418099.B0001.LISTASM
GENEVA.USERID.PM418099.B0001.LISTDB2
GENEVA.USERID.PM418099.B0001.LISTJOB
GENEVA.USERID.PM418099.B0001.LISTLINK
GENEVA.USERID.PM418099.B0001.MAC
GENEVA.USERID.PM418099.B0001.OBJ
The “B” number increments for every time you run the build with the same HLQ and version/major/minor numbers.
The following aliases will be set for all the data sets:
One set is based on the major build number. For example
GENEVA.USERID.PM418.*
Another set of aliases uses the 'environment HLQ' set in .gers.profile, for example:
export GERS_ENV_HLQ=GENEVA.LATEST
will produce a set of aliases
GENEVA.LATEST.*
The RCApps jar file location is determined in .gers.profile by the environment variable GERS_RCA_JAR_DIR.
For example:
export GERS_RCA_JAR_DIR='/u/USERID/RCA'
Will copy the RCApps jar to this directory, and create symbolic links (aliases), as shown below.
/u/USERID/RCA> ls -la
<snip>
-rwxr-xr-x 1 USERID GENEVA 24062073 Aug 5 18:21 rcapps-1.1.0_RC18.jar
lrwxrwxrwx 1 USERID GENEVA 21 Aug 5 18:21 rcapps-PM418018.jar -> rcapps-1.1.0_RC18.jar
lrwxrwxrwx 1 USERID GENEVA 21 Aug 5 18:21 rcapps-latest.jar -> rcapps-1.1.0_RC18.jar
You can run the tagging script:
- In the SH directory of DevOps run the generated script TagBuild.sh.
./TagBuild.sh
or submit the tagging JCL:
- In your build JCL library <GERS_ENV_HLQ>.JCL, submit TAGBLD.
You can run the tagging script:
- In the SH directory of DevOps run the generated script TagRel.sh.
./TagRel.sh
or submit the tagging JCL:
- In your build JCL library <GERS_ENV_HLQ>.JCL, submit TAGREL.
If the Db2 components for the assembler programs are requested, Db2 BIND JCL will be generated.
In your build JCL library <GERS_ENV_HLQ>.JCL, edit BINDPE and BINDPEX for your environment, and submit.