Skip to content

Sync Overview

The sync module manages SAP CPI IntegrationPackage content through a Git-centered workflow.

What is synchronized?

The module works with exported CPI IntegrationPackage content under:

text
IntegrationPackage/

It also writes operational metadata under:

text
.iflowkit/

Branch to tenant mapping

Branch typeTenant target
devDEV
qasQAS, only when a 3-tenant model is used
prdPRD
work branches such as feature/*DEV

Work branches allow isolated development while still mapping push operations to DEV.

PRD safety rule

PRD operations require explicit confirmation:

bash
iflowkit sync push --to prd
iflowkit sync pull --to prd
iflowkit sync deliver --to prd

This prevents accidental production-facing actions.

Repository structure

text
{packageId}/
  IntegrationPackage/
  .iflowkit/
    package.json
    ignore
    transports/
      dev/
      qas/
      prd/

Main commands

CommandDirectionSummary
sync initDEV → GitCreates a sync repo from a DEV IntegrationPackage export.
sync pullCPI → GitRe-exports CPI state to the current branch.
sync pushGit → CPIApplies local package changes to the mapped tenant.
sync deliverBranch → tenantPromotes changes between environment branches and updates the target tenant.
sync compareGit diffShows filtered IntegrationPackage differences.
sync deploy statusLocal metadataReads deployment/transport status records.

Retry model

If a CPI upload, delete or deploy step fails, the transport record can remain pending. Re-running the same operation allows the CLI to continue from the remaining work lists.

This is one of the key reasons transport records are stored in .iflowkit/transports/.