IICS CICD pipelines with
GitHub and Jenkins
`
Prabir Kumar Dhar
Principal Consultant IPS
Agenda
1 Introduction 2 IICS CICD 3 Supported
overview platform details
4 Rest api endpoint 5 Demo 6 Q&A
for CICD
2 © Informatica. Proprietary and Confidential.
IICS-Git: Supported Integrations
Product SaaS Self-hosted
ü ü
ü
ü
Azure DevOps ü
Generic repo N/A ü
3 © Informatica. Proprietary and Confidential.
IICS-Git: SaaS Git repo integration
HTTPS
Azure DevOps
IICS Design Environment SaaS Git Provider
SaaS
HTTPS
Customer Infrastructure
IICS Secure Agent
4 © Informatica. Proprietary and Confidential.
IICS-Git: On-premise Git repo integration
IICS Design Environment
SaaS
HTTPS
Customer Infrastructure
On Premise Git Servers
HTTPS
IICS Secure Agent
Local Git repo
5 © Informatica. Proprietary and Confidential.
IICS Org-Git integration: Org Level Branch
Developers can work concurrently on separate assets
Org/SubOrg 1 (Branch - Dev)
Org/SubOrg 2 (Branch – Main/Prod)
Org/SubOrg 3 (optional branches)
Each Org can be mapped to different branch in same
repo. Branches can be merged in Git (outside IICS)
6 © Informatica. Proprietary and Confidential.
Recent API enhancements
• Source Control integration APIs
7 © Informatica. Proprietary and Confidential.
IICS Orgs - CI/CD with Git + Jenkins
Dev branch
Test branch Prod branch
IICS Org - Dev IICS Org - Test IICS Org - Prod
Cloud Sources/Targets
SaaS
Customer Infrastructure
Dev RTE Test RTE Prod RTE On-Premise Sources/Targets
Connections
8 © Informatica. Proprietary and Confidential.
Step 1: a. Developer checks in revisions to Dev branch
CI Pipeline
CD Pipeline
Dev Org Test Org Prod Org
Check in Dev Env Cloud Sources/Targets
SaaS
Customer Infrastructure
Dev RTE Test RTE Prod RTE On-Premise Sources/Targets
Connections
9 © Informatica. Proprietary and Confidential.
Step 1: a. Developer checks in revisions to Dev branch
CI Pipeline
CD Pipeline
New Commit hash (H1) in Dev branch
Dev Org Test Org Prod Org
Check in Dev Env Cloud Sources/Targets
SaaS
Customer Infrastructure
Dev RTE Test RTE Prod RTE On-Premise Sources/Targets
Connections
10 © Informatica. Proprietary and Confidential.
Step 1: b. Git passes hash H1 via webhook to CI Pipeline
CI Pipeline
H1
CD Pipeline
Dev Org Test Org Prod Org
Cloud Sources/Targets
SaaS
Customer Infrastructure
Dev RTE Test RTE Prod RTE On-Premise Sources/Targets
Connections
11 © Informatica. Proprietary and Confidential.
Step 1: c. CI retrieves list of assets for H1 via REST API
CI Pipeline
V3/Commit/H1
CD Pipeline
Dev Org Test Org Prod Org
Cloud Sources/Targets
SaaS
Customer Infrastructure
Dev RTE Test RTE Prod RTE On-Premise Sources/Targets
Connections
12 © Informatica. Proprietary and Confidential.
Step 1: c. CI retrieves list of assets for H1 via REST API
CI Pipeline
V3/Commit/H1 return assets
with type
CD Pipeline
Dev Org Test Org Prod Org
Cloud Sources/Targets
SaaS
Customer Infrastructure
Dev RTE Test RTE Prod RTE On-Premise Sources/Targets
Connections
13 © Informatica. Proprietary and Confidential.
Step 1: d. CI executes tests via REST API
CI Pipeline
V2/Job CD Pipeline
Dev Org Test Org Prod Org
Cloud Sources/Targets
SaaS
Customer Infrastructure
Dev RTE Test RTE Prod RTE On-Premise Sources/Targets
Connections
14 © Informatica. Proprietary and Confidential.
Step 1: d. CI executes tests via REST API
CI Pipeline
V2/Job Success/Fail
CD Pipeline
Dev Org Test Org Prod Org
Cloud Sources/Targets
SaaS
Customer Infrastructure
Dev RTE Test RTE Prod RTE On-Premise Sources/Targets
Connections
15 © Informatica. Proprietary and Confidential.
Step 1: e. CI send status notification to developer
CI Pipeline
CD Pipeline
Communicate whether CI tests
passed or failed
Dev Org Test Org Prod Org
Cloud Sources/Targets
SaaS
Customer Infrastructure
Dev RTE Test RTE Prod RTE On-Premise Sources/Targets
Connections
16 © Informatica. Proprietary and Confidential.
Step 2: a. Developer requests promotion of H1 to next Environment
CI Pipeline
If CI tests passed, request CD
workflow to promote H1 to Test CD Pipeline
branch
Dev Org Test Org Prod Org
Cloud Sources/Targets
SaaS
Customer Infrastructure
Dev RTE Test RTE Prod RTE On-Premise Sources/Targets
Connections
17 © Informatica. Proprietary and Confidential.
Step 2: b. Git cherry-pick from H1 to Test Branch
CI Pipeline
CD Pipeline
Git cherry-pick H1 from Dev to Test branch
H1 H2
Dev Org Test Org Prod Org
Cloud Sources/Targets
SaaS
Customer Infrastructure
Dev RTE Test RTE Prod RTE On-Premise Sources/Targets
Connections
18 © Informatica. Proprietary and Confidential.
Step 2: c. Git passes hash H2 via webhook to CI Pipeline
CI Pipeline
CD Pipeline
Dev Org Test Org Prod Org
Cloud Sources/Targets
SaaS
Customer Infrastructure
Dev RTE Test RTE Prod RTE On-Premise Sources/Targets
Connections
19 © Informatica. Proprietary and Confidential.
Step 2: d. Pull by Commit Hash H2 into Test Org
CI Pipeline
CD Pipeline
V3/pullByCommitHash(H2)
Dev Org Test Org Prod Org
Cloud Sources/Targets
SaaS
Customer Infrastructure
Dev RTE Test RTE Prod RTE On-Premise Sources/Targets
Connections
20 © Informatica. Proprietary and Confidential.
Step 2: e. CI repeats steps 1c, 1d, 1e in Test Environment
CI Pipeline
CD Pipeline
Communicate whether CI tests
passed or failed
Dev Org Test Org Prod Org
Cloud Sources/Targets
SaaS
Customer Infrastructure
Dev RTE Test RTE Prod RTE On-Premise Sources/Targets
Connections
21 © Informatica. Proprietary and Confidential.
Step 3: a. Developer requests promotion of H2 to next/ Prod Env
CI Pipeline
If CI tests passed, request CD
workflow to promote H2 to Prod CD Pipeline
branch
Dev Org Test Org Prod Org
Cloud Sources/Targets
SaaS
Customer Infrastructure
Dev RTE Test RTE Prod RTE On-Premise Sources/Targets
Connections
22 © Informatica. Proprietary and Confidential.
Step 3: b. CD and CI pipelines repeat step 2b – 2d for Prod Env
CI Pipeline
CI Tests
CD Pipeline
V3/pullByCommitHash(H3)
Git cherry-pick H2: Test to
Prod branch H3
Dev Org Prod Org
Test Org
Cloud Sources/Targets
SaaS
Customer Infrastructure
Dev RTE Test RTE Prod RTE On-Premise Sources/Targets
Connections
23 © Informatica. Proprietary and Confidential.
Step 3: c. CI send final status notification to developer
CI Pipeline
CD Pipeline
Communicate successful
promotion to Prod env
Dev Org Test Org Prod Org
Cloud Sources/Targets
SaaS
Customer Infrastructure
Dev RTE Test RTE Prod RTE On-Premise Sources/Targets
Connections
24 © Informatica. Proprietary and Confidential.