DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Last call! Secure your stack and shape the future! Help dev teams across the globe navigate their software supply chain security challenges.

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Releasing software shouldn't be stressful or risky. Learn how to leverage progressive delivery techniques to ensure safer deployments.

Avoid machine learning mistakes and boost model performance! Discover key ML patterns, anti-patterns, data strategies, and more.

Related

  • Strategic Insights Into Azure DevOps: Balancing Advantages and Challenges
  • DevOps Nirvana: Mastering the Azure Pipeline To Unleash Agility
  • Automation and Integration: Curing Your Context Switching Headache
  • DevOps Pipeline and Its Essential Tools

Trending

  • A Developer's Guide to Mastering Agentic AI: From Theory to Practice
  • Is Agile Right for Every Project? When To Use It and When To Avoid It
  • The Human Side of Logs: What Unstructured Data Is Trying to Tell You
  • Unlocking the Potential of Apache Iceberg: A Comprehensive Analysis
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. DevOps and CI/CD
  4. Azure DevOps Pipeline for Oracle Integration Cloud

Azure DevOps Pipeline for Oracle Integration Cloud

Learn how to successfully build an Azure DevOps pipeline to deploy the code from Azure Repos to Oracle Integration Cloud.

By 
Abhisek Banerjee user avatar
Abhisek Banerjee
·
Nandita Saha user avatar
Nandita Saha
·
Aug. 15, 23 · Tutorial
Likes (2)
Comment
Save
Tweet
Share
5.1K Views

Join the DZone community and get the full member experience.

Join For Free

Authors

Abhisek Banerjee, Technical Architect, IBM

Nandita Saha, Application Integration Consultant, IBM


Introduction:

Large enterprises nowadays operate in multi-cloud environments where company data and enterprise applications are distributed in different clouds due to organization security policy. IT operations under such multi-cloud ecosystems need a seamless DevOps platform where the source Code residing at one cloud layer can easily be deployed to another cloud where the enterprise application is hosted. Hence the current DevOps pipeline should address the cross-boundary continuous integration and continuous delivery challenges. 

As part of the business requirement, this work is aimed to successfully build an Azure DevOps pipeline to deploy the code from Azure Repos (used as our source code repository) to Oracle Integration Cloud (used as our enterprise application host platform) as per the following architecture diagram.

azure pipeline

Implementation Steps:

This use case will define and describe different stages of a pipeline as part of an OIC package lifecycle:

  1. Publish OIC Package Azure repository.
  2. OIC package import
  3. OIC Connection update
  4. Activate OIC integrations inside the OIC package.
  5. Integration Service testing

Prerequisite

  • An Azure DevOps Organization
  • Azure Pipeline can either run on the self-hosted agent which has limited features to execute the needed commands, or Microsoft hosted agent with access of parallel jobs
  • Familiarity with branching and cloning a GitHub repository.
  • An Azure GitHub branch
  • OIC services/package

Implementation Steps

Publish OIC Package Azure Repository

Here, 2 OIC integrations were created with a package name devopsv1.

Here, 2 OIC integrations were created with a package name devopsv1.Code/OIC package can be committed to Azure git repository either via command line or Azure console or Pipeline.

Design Pipeline 

Pipeline Creation

  • Click on ‘New pipeline’
  • Select ‘Azure Repos Git’ to refer to the codes committed to the Azure repository, as mentioned in the previous step
  • Name the pipeline. Here ‘OIC’ pipeline created
  • Add the script as per the requirement

   The following screenshots are being provided for detailed navigation:

pipelines

azure repos git

Trigger Criteria in Pipeline

Adding a trigger parameter helps to instruct the pipeline for its execution. One can specify the branch name along with the include/exclude filename pattern so that the pipeline will be auto-triggered whenever those specific files will be committed to that branch. For example, the below screenshot shares the snippet of the pipeline where the OIC pipeline will be auto-triggered whenever a <package-name>. par will be committed. Also, it’ll restrict the pipeline from being triggered even when any update will happen on that specific pipeline.

OICVM Image in Pipeline

Azure supplies a set of predefined agent pool names Azure pipelines with Microsoft-hosted agents. Each time it provides a fresh virtual machine for each job in the pipeline. Please note, Microsoft-hosted agents can run the jobs either in VM or in a container.

Here, ‘ubuntu-latest’ VM images have chosen to run CURL commands.

ubuntu-latest

Define Variables in Pipeline

Pipeline variables can be added to send the external commands to the CURL command. The following screenshot illustrates the variables used in this use case:

the variables used in this use caseOIC Package Deployment

OIC package (devopsv1.par) has been added to the Azure repository. This OIC package has been deployed into the next OIC environment using the below-mentioned CURL command inside the pipeline steps, as shown in the screenshot:

CURL command

OIC Connection Update

OIC package deployment into a fresh OIC environment will create a connection in the draft mode which will not have any credentials. Hence, a further step has been added to update the connection parameter, which will update and test the OIC connection. Please note connection properties are supposed to be uploaded in Azure repository in <filename>. json format. Here, ICSConnProp.json has been created for this use case.

OIC Connection Update

Activate OIC Integrations

The OIC package (devopsv1.par) consists of 2 OIC integration that needs to be activated post-connection activation. These integration names are kept in the Azure repo with the ProjectList.txt name. The CURL command will loop through the list for activation.

The following screenshot provides the OIC integration activation steps in the pipeline:

Activate OIC Integrations

OIC Integrations Testing

OIC integration has been tested via CURL in this same pipeline. Please note a sleep of 1 min has been added to make sure the services are activated before the test job in the pipeline gets triggered. Test payload also needs to be uploaded in Azure repo (HELLOWORLD_01.00.0000_Test.json).

The following screenshot provides the OIC integration test steps in the pipeline:

OIC Integrations Testing

Pipeline Execution

The pipeline can be triggered manually or automatically by committing the OIC package in the Azure repo. 

The following screenshots provide the detailed jobs and its outcome upon running the pipeline for this use case:

  • Trigger pipeline:Trigger pipelinetrigger pipeline2
  • Package deployment completed:

Package deployment completed

Package deployment completed2

  • Connection updated successfully:

Connection updated successfully

Connection updated successfully2

  • Integration activated:

Integration activated

Integration activated2

  • Integration tested successfully:

Integration tested successfully

Integration tested successfully2

  • An email will be triggered with the pipeline execution report.
DevOps azure Pipeline (software) Integration Oracle Database

Opinions expressed by DZone contributors are their own.

Related

  • Strategic Insights Into Azure DevOps: Balancing Advantages and Challenges
  • DevOps Nirvana: Mastering the Azure Pipeline To Unleash Agility
  • Automation and Integration: Curing Your Context Switching Headache
  • DevOps Pipeline and Its Essential Tools

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!