Versions Compared

Key

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

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

Expand
titleMettleCI v1.2
Code Block
/
.
├── datastage/                                  # This structure is automatically managed by MettleCI
│   ├── 
default
Config_One.apt                       
#
 
  # 
├──
The 
DSParams
apt config files for your project
   ├── Config_Two.apt               
#
 
   
├──
 
Jobs/
      # 
   ├── ...                
#
 
  
│   ├── 
Extract/
DSParams                     
#
 
   
   
   
├──
 
ExtractJob_One
# The DSParams for your project
   ├── Jobs/ 
#
          
   
   
   
├──
 
ExtractJob_Two
           
#
   # | The structure under the root 
'datastage' folder directly reflects
│   │   
└── ...
├── Extract/                      
   
   
├──
# 
Load/
| the structure in root of your DataStage repository.  Every time 
         ├── ExtractJob_One.isx 
#
 
   
   
   
├──
 
LoadJob_One
  # | you check in datastage assets the required folders are 
created for
│   │   │   ├── 
LoadJob
ExtractJob_Two.isx              # | you in your git repository.
│   │   │   └── ...                      
│   │   ├── 
Transform
Load/                    
#
           #
│   │   │   ├── 
TransformJob
LoadJob_One.isx                 #     
│   │   │   ├── 
TransformJob
LoadJob_Two.isx                 #     
│   │   │   └── ...                      
│   │   
└── ...
├── Transform/                      
   
└──
 
Parameter
# 
Sets/

         ├── TransformJob_One.isx       
#
     
#       
├──
 
SourceDB1/
  
         ├── TransformJob_Two.isx      
#
  
    #   
   
└──
 
source1
   
         └── ...    
#
  
       
├──
 
SourceDB2/
      
      └── ...       
       
   
└──
 
source2
   
   └── Parameter Sets/            
       
├──
 
TargetDB/
     # The 'Parameter Sets' folder contains Parameter Set Value files
       
├── SourceDB1/      
   
└──
 
target
                # | following the structure 
used by the DataStage Engine: 
 
└──
 
pGlobal/
        └── 
source1          
#
 
           
└──
 
global
  # | '/datastage/Parameter Sets/<Parameter Set>/<Value File>'
│       ├── SourceDB2/       
#
 
├──
 
filesystem/
                 # | 
      
#
├──
└── 
datasets
source2                         # |
├──
 
deploy.sh
   ├── TargetDB/                    
#
 
   
└──
 
scripts/
  # |
          └── target          
#
 
       
├──
 
10-restore-backups.sql
       # | 
├── 20-create-test-data.sql
└── pGlobal/                            # |
└── ... ├── unittest/
│   └── 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             #
│       └── ...
├── 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.yaml                 # The test specification, associating 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 
This
specification, 
structure
associating 
is
files 
automatically
to 
managed
your 
by
job's 
MettleCI
links
│   ├── ExtractJob_
One
Two/                    
#
     #
│   │   ├── 
dsDataSource1.csv
{similar to 
above}        
#
        
  #
│   ├── 
dsDataSource2.csv
LoadJob_One/             
#
        
   
   
├──
 
dsDataSource3.csv
#
      ├── {similar to above}  
#
        
   
   
├──
 
dsDataTarget1.csv
 #         
 
#
  ├── LoadJob_Two/     
   
   
├──
 
ExtractJob_One.yaml
          
#
      #
   │   ├── 
ExtractJob_Two/
{similar to above}                
#
  
#   
   
├──
 
{similar
 
to
 
above}
                    
│   ├── 
LoadJob
TransformJob_One/                       #   
│   │   ├── {similar to above}                  #         
│   ├── 
LoadJob
TransformJob_Two/                       #   
│   │   ├── {similar to above}                  #         
   
└── ...
├──
└── 
TransformJob_One
varfiles/                
#
    
   
   
├──
 
{similar
 
to
 
above}
  # This flat structure is automatically managed 
│ ├── TransformJob_Two/
by MettleCI
│       ├── var.ci       
#
    
   
   
├──
 
{similar
 
to
 
above}
          # Variable override files provide environment-specific values for 
  
   
└──
 
...
 ├── var.
ci
dev                             # | 
# Variable override files provide environment-specific values for
each target deployment environment.
│       ├── var.
dev
prod                            # | Search the MettleCI documentation for 'variable override files' 
  
#
 
each
 
target
 
deployment
 
environment.
 ├── var.
prod
qa                              # 
Variable
| 
override
These files cover 
├── var.qa
the CI, DEV, PRO, QA, and UAT environments
│       └── var.uat                
#
 
└──
 
var.uat
           # | as an example
└── README.md       
#