Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Git repository created and automatically maintained by MettleCI is structured like this:

Expand
titleMettleCI v1.2
Code Block
/
.
├── datastage/                                  # This structure is automatically managed by MettleCI
│   ├── Config_One.apt                          # The apt config files for your project
│   ├── Config_Two.apt                          # 
│   ├── ...                   
│   ├── DSParams                                # The DSParams for your project
│   ├── Jobs/                                   # 
:
| The structure under the root 'datastage' folder directly reflects
│   │   ├── Extract/                            # 
:
| the structure in root of your DataStage repository.  Every time 
│   │   │   ├── ExtractJob_One.isx              # 
:
| you check in datastage assets the required folders are created for
│   │   │   ├── ExtractJob_Two.isx       
#
 
:
 
you
     # | you in your git repository.
│   │   │   └── ...                      
│   │   ├── Load/                               #
│   │   │   ├── LoadJob_One.isx                 #     
│   │   │   ├── LoadJob_Two.isx                 #     
│   │   │   └── ...                      
│   │   ├── Transform/                          # 
│   │   │   ├── TransformJob_One.isx            #          
│   │   │   ├── TransformJob_Two.isx            #          
│   │   │   └── ...                    
│   │   └── ...                     
│   └── Parameter Sets/                         # The 'Parameter Sets' folder contains Parameter Set Value files
│       ├── SourceDB1/                          # 
:
| following the structure used by the DataStage Engine: 
│       │   └── source1                  
# :
       # | '/datastage/Parameter Sets/<Parameter Set>/<Value File>'
│       ├── SourceDB2/                          # 
:
| 
│       │   └── source2                         # 
:
|
│       ├── TargetDB/                           # 
:
|
│       │   └── target                          # 
:
| 
│       └── pGlobal/                            # 
:
|
│       │   └── global                          # 
:
|
│       ├── SourceDB1.isx                
#
 
:
 
The
 
Parameter
 
Set
   # | The Parameter Set export structure under the root 'datastage' folder 
│       ├── SourceDB2.isx                       # 
:
| directly relects the structure of your DataStage repository.
│       ├── TargetDB.isx                        #
│       ├── pGlobal.isx                         #
├── filesystem/                                 # 
:
| The content of the file system directory is transferred to the
│   ├── deploy.sh                               # 
:
| DataStage engine by MettleCI and deploy.sh is invoked on the DataStage
│   ├── datasets/                               # 
:
| engine to move other directories and files (such as scripts) to the
│   └── scripts/                         
#
 
:
 
appropriate
 
locations
 
for
 
use
 
by
 # | appropriate locations for use by the ETL solution
│       ├── 10-restore-backups.sql              #   
│       ├── 20-create-test-data.sql             #
│       └── ...
├── unittest/                                   # This flat structure is automatically managed by MettleCI
│   ├── ExtractJob_One/                         # Each job gets its own folder in the unittest folder
│   │   ├── dsDataSource1.csv                   # A test data input file
│   │   ├── dsDataSource2.csv                   # A test data input file
│   │   ├── dsDataSource3.csv                   # A test data input file
│   │   ├── dsDataTarget1.csv            
#
 
A
 
test
 
data
 
output
 
file
  # A test data output file
│   │   ├── ExtractJob_One.yaml                 # The test specification, associating
files to your job's links
 files to your job's links         
│   │   ├── ExtractJob_One_OtherTest.yaml       # The test specification, associating files to your job's links         
│   │   ├── ExtractJob_One_AnotherTest.yaml     # The test specification, associating files to your job's links         
│   ├── ExtractJob_Two/                         # 
│   │   ├── {similar to above}                  #         
│   ├── LoadJob_One/                            #
│   │   ├── {similar to above}                  #         
│   ├── LoadJob_Two/                            #
│   │   ├── {similar to above}                  #                             
│   ├── TransformJob_One/                       #   
│   │   ├── {similar to above}                  #         
│   ├── TransformJob_Two/                       #   
│   │   ├── {similar to above}                  #         
│   └── ...
├── var.ci                                      # Variable override files provide environment-specific values for 
├── var.dev                                     # | each target deployment environment.
├── var.prod                                    # | Search the MettleCI documentation for 'variable override files' 
├── var.qa                                      # | These files cover the CI, DEV, PRO, QA, and UAT environments
└── var.uat                                     # | as an example
Expand
titleMettleCI v1.3+
Code Block
.
├── datastage/                                  # This structure is automatically managed by MettleCI
│   ├── Config_One.apt                          # The apt config files for your project
│   ├── Config_Two.apt                          # 
│   ├── ...                   
│   ├── DSParams                                # The DSParams for your project
│   ├── Jobs/                                   # | The structure under the root 'datastage' folder directly reflects
│   │   ├── Extract/                            # | the structure in root of your DataStage repository.  Every time 
│   │   │   ├── ExtractJob_One.isx              # | you check in datastage assets the required folders are created for
│   │   │   ├── ExtractJob_Two.isx              # | you in your git repository.
│   │   │   └── ...                      
│   │   ├── Load/                               #
│   │   │   ├── LoadJob_One.isx                 #     
│   │   │   ├── LoadJob_Two.isx                 #     
│   │   │   └── ...                      
│   │   ├── Transform/                          # 
│   │   │   ├── TransformJob_One.isx            #          
│   │   │   ├── TransformJob_Two.isx            #          
│   │   │   └── ...                    
│   │   └── ...                     
│   └── Parameter Sets/                         # The 'Parameter Sets' folder contains Parameter Set Value files
│       ├── SourceDB1/                          # | following the structure used by the DataStage Engine: 
│       │   └── source1                         # | '/datastage/Parameter Sets/<Parameter Set>/<Value File>'
│       ├── SourceDB2/                          # | 
│       │   └── source2                         # |
│       ├── TargetDB/                           # |
│       │   └── target                          # | 
│       └── pGlobal/                            # |
│       │   └── global                          # |
│       ├── SourceDB1.isx                       # | The Parameter Set export structure under the root 'datastage' folder 
│       ├── SourceDB2.isx                       # | directly relects the structure of your DataStage repository.
│       ├── TargetDB.isx                        #
│       ├── pGlobal.isx                         #
├── filesystem/                                 # The content of the file system directory is transferred to the
│   ├── deploy.sh                               # | DataStage engine by MettleCI and deploy.sh is invoked on the DataStage
│   ├── datasets/                               # | engine to move other directories and files (such as scripts) to the
│   └── scripts/                                # | appropriate locations for use by the ETL solution
│       ├── 10-restore-backups.sql              #   
│       ├── 20-create-test-data.sql             #
│       └── ...
├── pipelines/                                  # A collection of unsupported pipeline definitions covering a range of use cases
│   ├── azure                                   # Pipeline definitions for Azure Devops
│       ├── devops                              # Pipeline definitions covering the use DevOps use case (see description in files) 
│       │   ├── devops.yml                      # 
│       │   ├── hotfix_ci.yml                   # 
│       │   └── hotfix_deploy.yml               #
│       ├── templates                           # Reuseable pipeline components used by the example pipelines (see description in files)
│       │   ├── compliance-template.yml
│       │   ├── deploy-template.yml
│       │   └── unittest-template.yml
│       └── ...
│   ├── bitbucket/                              # Example Build and Deploy Plan pipeline definitions for Atlassian Bitbucket
│       └── ...
│   ├── github/                                 # Example Actions pipeline definitions for GitHub
│       └── ...
│   ├── gitlab/                                 # Example pipeline definitions for GitLab
│       └── ...
│   └── jenkins/                                # Example pipeline definitions for Jenkins
│       └── ...
├── unittest/                                   # This flat structure is automatically managed by MettleCI
│   ├── ExtractJob_One/                         # Each job gets its own folder in the unittest folder
│   │   ├── dsDataSource1.csv                   # A test data input file
│   │   ├── dsDataSource2.csv                   # A test data input file
│   │   ├── dsDataSource3.csv                   # A test data input file
│   │   ├── dsDataTarget1.csv                   # A test data output file
│   │   ├── ExtractJob_One_Test.yaml            # A test specification, associating files to your job's links
│   │   ├── ExtractJob_One_OtherTest.yaml       # A test specification, associating files to your job's links
│   │   ├── ExtractJob_One_AnotherTest.yaml     # A test specification, associating files to your job's links
│   ├── ExtractJob_Two/                         #
│   │   ├── {similar to above}                  #
│   ├── 
ExtractJob
LoadJob_
Two
One/                            #
│   │   ├── {similar to above}                  #         
│   ├── LoadJob_
One
Two/                            #
│   │   ├── {similar to above}                  #                             
│   ├── 
LoadJob
TransformJob_
Two
One/                       #   
│   │   ├── {similar to above}           
#
       #         
   ├── TransformJob_Two/         
   
├──
 
TransformJob_One/
          
#   
│   │   ├── {similar to above}           
#
       #      
   
├──

TransformJob_Two/
   └── ...
   └── varfiles/       
#
    
   
   
├──
 
{similar
 
to
 
above}
           # This flat structure is automatically managed by MettleCI
  
   
└──
 
...
 ├── var.ci                              
# Variable override files provide environment-specific values for  ├── var.dev                             
# 
:
| each target deployment environment.
├── var.prod                            
# 
:
| Search the MettleCI documentation for 'variable override files'       ├── var.qa
                              # 
:
| These files 
cov
cover 
er
the CI, DEV, PRO, QA, and UAT environments
└── var.uat                             # | as an example
#
└── README.md