Versions Compared

Key

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

Table of Contents

...

What are multiple Datical Pipelines in a project?

  • Multiple pipelines allow you to deploy changes to different database environments
  • You will need a REF database for each pipeline

...

It is important to note that you will need a REF database for each pipeline. Click here to read more about REF databases.

...

What are common use cases for using multiple Datical pipelines?

  • Developers working on concurrent releases
  • Development process requires changes to be merged from one pipeline to another in order for changes to be deployed to production
  • Hotfix pipeline

There are several reasons for using multiple Datical pipelines. Let's visit a few common use cases:

1. Developers working on concurrent releases

Your team could be developing code for multiple releases.

...

Pipeline NameBranch Name




Pipeline1

June2018REF1DEV1QA1UATPROD
Pipeline2July2018REF2DEV2QA2UATPROD

2. Development process requires changes to be merged from one branch to another in order for changes to be deployed to production

Your development team has adopted a process for working on dedicated branches. This allows you to develop features independently.

...

As a result of this approach, Datical is automatically able to detect changes packaged in "line1" branch that merged with "release" branch. 

3. Hotfix

Often, there is a need to patch changes made to production. In addition to requiring a shorter pipeline to PROD, you also need a separate SCM branch to maintain all hotfix changes.

...

Pipeline NameBranch Name




Pipeline1releaseREF1DEV1QA1UATPROD
HotfixhotfixREF2UATPROD

...

How to setup multiple pipelines?

In order to setup multiple pipelines in Datical you would follow these steps:

  1. Create a new pipeline in Datical project
  2. Populate DB steps in the pipeline
  3. Configure "deployPackager.properties" file to map pipelines to SCM branches

Let's take a look at each step in details:

1. Create a new pipeline in Datical project

In Datical DB GUI, click on the "Manage" button

...

Click OK. Now switch to the newly created pipeline in Datical GUI:


2. Populate DB steps in the pipeline

Click "Add Steps" to setup connection to a new database, e.g., REF2 database. 

...

For connecting to an existing database step that is already used in another pipeline, e.g., UAT or PROD, use the "Select an existing deployment step" option at the top:


3. Configure "deployPackager.properties" file to map pipelines to SCM branches

Configure your "deployPacakager.properties" file to map your pipeline to branches. See the sample file below:

...

Code Block
linenumberstrue
databaseBackupRestoreLocation=DATICAL_DATA_PUMP_DIR
databaseBackupMode=on_demand
 
ddbScmSystem=git
ddbScmBranch=master
ddbScmPath=.

sqlScmSystem=git
sqlScmPath=../EFS_SQL
sqlScmSQLBaseDir=sql_code
 
release1.sqlScmBranch=June2018
release1.sqlScmLastImportID=d7e7bac
 
release2.sqlScmBranch=July2018
release2.sqlScmLastImportID=f3896e0
validateRollback = none
disableTraceFile = false


...

How does Datical handle branch merges when changes are already packaged in the source branch?

See link in Datical Documentation space → /wiki/spaces/DDD/pages/22511822SQL Code Branching & Merging (Advanced)