When you have a large DataStage project which you wish to get under Git version control it would be onerous to have to commit each individual artefact using the MettleCI Workbench individually. A much more efficient approach to use the MettleCI Command Line Interface. This procedure requires your computer to have both a Git client and the MettleCI Command Line Interface installed. The primary input to the process is a whole-of-Project 'archive' ISX files for each Project you wish to import into Git.
Installing the MettleCI Command Shell
See the MettleCI Command Shell installation documentation.
Initial commit procedure
Ensure the DataStage project ISX file(s) you wish to commit are available on your machine.
Use your Git client to
clone
the remote Git repository you will be checking into. Ensure the current branch ismaster.
Check whether the cloned Git repository has a
datastage
directory at the root. If this doesn't exist create it now. This folder is mandatory in order for MettleCI's automated deployment function to operate correctly.Check whether the cloned Git repository has a
filesystem
directory at the root. If this doesn't exist create it now. This folder is mandatory in order for MettleCI's automated deployment function to operate correctly.Navigate to the command shell folder and locate the
mettleci.cmd
file.Run the command shell by executing either the mettleci or
mettleci.cmd
from the command line. This will start an interactive session, the current working directory does not matter.Run the
isx cut
command to split the project ISX file(s) into a temporary directory, this step can be repeated multiple times if there is more than one ISX for a given project. Documentation of this command can be found here.The cut ISX files will be dumped into your temporary directory in the following directory structure
<ISX source engine name>/<ISX source project name>/<category name - recursive>/<Job Name>.isx
Copy all ISX files and directories from within the
<source ISX project name>
directory to thedatastage
directory of your cloned Git repository. The final Git repository directory structure should matchdatastage/<category name - recursive>/<job name>.isx
Use Git to add, commit and push all changes. Atlassian's Git tutorial provides a good summary of how to do this.
Verify the commit is visible in your Git repository against the Master branch.
This procedure will generate ISX files which, although fully functional in all other respects, will not support the preview of the DataStage Job canvas by the MettleCI Job Visualisation Plugin for Atlassian Bitbucket. Depending on the number of projects you need to complete, this process can easily be scripted, if required.
Once all production assets have been checked in, we recommend that you Tag this particular revision in case you need to quickly refer to it later in your DevOps-for-DataStage or DataStage Upgrade initiative. You can tag your Git repository revision using the Git command line or, in most cases, your Git repository’s user interface.