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
 
in
   # | you in your git repository.
│   │   │   └── ...                      
│   │   ├── Load/                               #
│   │   │   ├── LoadJob_One.isx                 #     
│   │   │   ├── LoadJob_Two.isx                 #     
│   │   │   └── ...                      
│   │   ├── Transform/                          # 
│   │   │   ├── TransformJob_One.isx            #          
│   │   │   ├── TransformJob_Two.isx            #          
│   │   │   └── ...                    
│   │   └── ...                     
│   └── Parameter Sets/                   
#
      # The '
Patameter
Parameter Sets' folder contains Parameter Set Value files
│       ├── SourceDB1/                   
#
   
following
 
the
 
structure
 
used
 
by
# | following the structure used by the DataStage Engine: 
│       │   └── source1                  
#
       # | '/datastage/Parameter Sets/<Parameter Set>/<Value File>'
│       ├── SourceDB2/                          # 
| 
│       │   └── source2                         # |
│       ├── TargetDB/                           # |
│       │   └── target                          # | 
│       └── pGlobal/                     
#
 
      # |
└──
 
global
      └── global            
#
 
       
├──
 
SourceDB1.isx
     # |
│       ├── 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
 # | 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
   # 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_
Two/
One_OtherTest.yaml       # The test specification, associating files to your job's links  
#
  
   
  
├──
 
{similar
 
to
 
above}
   ├── 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}                  #
│   ├── LoadJob_One/                            #
│   │   ├── {similar to above}                  #         
│   ├── LoadJob_
One
Two/                            #
│   │   ├── {similar to above}                  #                             
   ├── TransformJob_One/    
├──
 
LoadJob_Two/
                  #   
#

│   │   ├── {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