IICS Continuous Integration/Deployment

24
` July 13, 2021 IICS Continuous Integration/Deployment Shiv Patel, Principal Customer Success Technologist, Sriram Seshadri, Principal Customer Success Technologist

Transcript of IICS Continuous Integration/Deployment

Page 1: IICS Continuous Integration/Deployment

`

July 13, 2021

IICS Continuous Integration/Deployment

Shiv Patel, Principal Customer Success Technologist,

Sriram Seshadri, Principal Customer Success Technologist

Page 2: IICS Continuous Integration/Deployment

2 © Informatica. Proprietary and Confidential.2

Housekeeping Tips

Ø Today’s Webinar is scheduled for 1 hour

Ø The session will include a webcast and then your questions will be answered live at the end of the presentation

Ø All dial-in participants will be muted to enable the speakers to present without interruption

Ø Questions can be submitted to “All Panelists" via the Q&A option and we will respond at the end of the presentation

Ø The webinar is being recorded and will be available on our INFASupport YouTube channel and Success Portal - where you can download the slide deck for the presentation. The link to the recording will be emailed as well.

Ø Please take time to complete the post-webinar survey and provide your feedback and suggestions for upcoming topics.

Page 3: IICS Continuous Integration/Deployment

Feature Rich Success Portal

© Informatica. Proprietary and Confidential.

Product Learning Paths and Weekly Expert Sessions

Bootstrap trial and POC Customers

InformaticaConcierge

Enriched Customer Onboarding experience

Tailored training and content

recommendations

Page 4: IICS Continuous Integration/Deployment

44 © Informatica. Proprietary and Confidential.

More Information

Success Portal

https://network.informatica.com

Communities & Support

Documentation

https://www.informatica.com/in/services-and-training/informatica-university.html

University

https://success.informatica.com https://docs.informatica.com

Page 5: IICS Continuous Integration/Deployment

5 © Informatica. Proprietary and Confidential.5

Safe Harbor

The information being provided today is for informational purposes only. The

development, release, and timing of any Informatica product or functionality

described today remain at the sole discretion of Informatica and should not be

relied upon in making a purchasing decision.

Statements made today are based on currently available information, which is

subject to change. Such statements should not be relied upon as a

representation, warranty or commitment to deliver specific products or

functionality in the future.

Page 6: IICS Continuous Integration/Deployment

`

IICS Continuous Integration/Deployment

Page 7: IICS Continuous Integration/Deployment

7 © Informatica. Proprietary and Confidential.7

Agenda

1 2

3 4

Target Persona GitHub Native Integration

Using REST and CLI

Demo

Page 8: IICS Continuous Integration/Deployment

`

GitHub Native Integration

Page 9: IICS Continuous Integration/Deployment

9 © Informatica. Proprietary and Confidential.9

IICS-Git: Integrations Supported

Product SaaS Self-hosted (On-Premise)ü ü

ü

ü

Azure DevOps ü

Generic repo N/A ü

Page 10: IICS Continuous Integration/Deployment

10 © Informatica. Proprietary and Confidential.10

IICS-Git: On-premise Git repo integration

• The Git Connect agent app requires enabling of GitRepoConnectApp_R1 license for the Org

• Integration is expected to work with any on-premise Git repository, but currently tested with GitLab and GitHub only- Customer can use any Git repository, but Informatica can reproduce/verify a reported issue on GitLab

or GitHub only

Page 11: IICS Continuous Integration/Deployment

11 © Informatica. Proprietary and Confidential.11

IICS-Git integration: Org Level Branching

Org 2 (Test)

Org 3 (Prod)

Developers can work concurrently on separate assets

Org 1 (Dev)

Each Org can be mapped to different branch in same repo. Branches can be merged in Git (outside IICS)

Page 12: IICS Continuous Integration/Deployment

12 © Informatica. Proprietary and Confidential.12

Setup phase:• We recommend maintaining different Development, Test, Staging, and Production organizations to

ensure isolation across environments so that changes meant for say a test environment do not accidentally get deployed to say a production environment. Such a sanitized structure also ensures that users do not accidentally push changes to GitHub from a non-development environment.

• Development organizations must be configured for “read/write” (push) access to the GitHub repository. Non-development organizations (Test/Staging/Production, etc.) should be configured for “read-only” access to the GitHub repository.

• We highly recommend that you pair only one development organization with a GitHub repository at a time. If you pair multiple development organizations with one GitHub repository, then you must ensure that projects do not clash across organizations because one user’s changes could overwrite another user’s changes. Also branching support is available as part of the recent release if a single repo is used.

Page 13: IICS Continuous Integration/Deployment

13 © Informatica. Proprietary and Confidential.13

Development phase: • Maintain golden/master copies of projects that are source controlled.

• Before pulling assets from GitHub into an organization, create connections and runtime environments in the organization. This allows you to easily and effectively reuse connections and runtime environments in your design objects.

• Be aware of dependencies across projects. Make sure reusable objects such as mappings are present in the repository and organization before they get used, as IICS does not allow saving an asset such as mapping task when the dependent mapping is not present.

• Identify all dependencies before performing a check out on reusable objects like mappings, mapplets, and user defined functions.

• Check out all dependent objects in one operation. (For example, when modifying mapping, check out the mapping and all mapping tasks that call this mapping in one operation.)

• Check in all dependent objects as part of a single commit.

Page 14: IICS Continuous Integration/Deployment

14 © Informatica. Proprietary and Confidential.14

Sample Workflow(with Review process).• Developer checks code from IICS UI to the dev branch from the dev org.

• If the developer has a code for review to be checked into the QA/UAT/Prod org, they check in and create a pull request.

• Reviewer gets the pull request and goes to the Dev Org and reviews it.

• If reviewer is satisfied, approves the code from Git UI and this trigger can be captured by any CI/CD tool like Jenkins.

• Jenkins picks up the approval trigger and does a cherry pick of the commit code into the QA branch. So only reviewed code gets into QA branch and eventually to Prod branch.

• Use the Git pull API to get the latest version to pull code into upstream orgs.

Page 15: IICS Continuous Integration/Deployment

© Informatica. Proprietary and Confidential.1515

Demo

Page 16: IICS Continuous Integration/Deployment

`

CI/CD via REST API and CLI

Page 17: IICS Continuous Integration/Deployment

17 © Informatica. Proprietary and Confidential.17 © Informatica. Proprietary and Confidential.17 © Informatica. Proprietary and Confidential.

Object Export/Import - DevOps FlowPropagate deployment changes from Dev to Prod

Dev Org

External storage (file system / version control)

DevOps/Developers

Export Import

Design assetsRuntime objects

User, role objects

PROD Org

Design assetsRuntime objects

User, role objects

Ops/DevOps

Developers/Project leads

Package

CloudCloud

Page 18: IICS Continuous Integration/Deployment

18 © Informatica. Proprietary and Confidential.18 © Informatica. Proprietary and Confidential.

Object Export/Import - Developer Flow

Dev Org

External storage (file system / version control)

Export Import

Design assetsRuntime objects

User, role objects

Developers/Project leads

Package

Cloud

Export one or more created assets from Informatica Cloud to external version control systems

Import the asset(s) back from version control system to Informatica cloud to a desired project / folder

Use Case Developer needs to refer to an earlier version of an integration asset for reuse or regression analysis

Page 19: IICS Continuous Integration/Deployment

19 © Informatica. Proprietary and Confidential.19 © Informatica. Proprietary and Confidential.

REST Client IICS

api/lookup (path, objectName)

Object metadata (guid, path, name, type)

api/export (guid)

Export job ID (export job status)

api/export/{exportJobId}/packageExport package Zip

api/import/package (package zip)

Upload Status (Import job ID)

1

2

3

4

api/import/{importJobId} (import properties)

Import Status5

Export/Import Process through APIs

api/publish/{importJobId}Publish Status6

Page 20: IICS Continuous Integration/Deployment

20 © Informatica. Proprietary and Confidential.20 © Informatica. Proprietary and Confidential.20 © Informatica. Proprietary and Confidential.

Command Line Interface UtilityAllows for the easy execution of the APIs via the command line

https://network.informatica.com/docs/DOC-18245• Allows for easy integration with Jenkins

Page 21: IICS Continuous Integration/Deployment

© Informatica. Proprietary and Confidential.2121

Demo

Page 22: IICS Continuous Integration/Deployment

© Informatica. Proprietary and Confidential.2222

• Export/import using REST API

https://docs.informatica.com/integration-cloud/cloud-platform/current-version/rest-api-reference/platform-rest-api-version-3-resources/export-and-import.html

• Asset Management CLIhttps://network.informatica.com/docs/DOC-18245

Please email your CSM or Account Manager if you have any additional questions on these products

Summary

Page 23: IICS Continuous Integration/Deployment

Questions?

?

Page 24: IICS Continuous Integration/Deployment

`

Thank You