Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Boomi Azure Devops and CI/CD process

Table of Contents

Set up automated deployment of Boomi applications using Azure DevOps.....2


Boomi Deployment Automation API............................................................3
Deployment Automation API operations..................................................3
Leveraging AtomSphere API......................................................................3
Azure DevOps..............................................................................................4
Create the Repository...............................................................................4
Create the Build Pipeline...........................................................................4
Create the Release Pipeline..............................................................................4
Step by step guide once setup is finalised............................................................5
New Boomi application.................................................................................... 5
New deployable components in Boomi application..........................................5
Updates in the existing components.................................................................5
Conclusion.......................................................................................................... 5
Set up automated deployment of Boomi applications
using Azure DevOps
Boomi allows you to interact with the platform through the AtomSphere
API (Application Programming Integration). This API consists of a large set of
operations, including most of the operations accessible via the UI. So, I thought of
leveraging the AtomSphere API in conjunction with Azure DevOps to set up the
automated deployment of Boomi applications. This scenario will talk about the
setting up of the automated deployment for Boomi applications. 
Below is the overall flow that developers should follow once this automated
deployment is setup.
Boomi Deployment Automation API

Deployment Automation API is something I created with the following rationale:

1. Multiple requests (one for every process in an application) could be sent to


AtomSphere API by triggering one call from Azure DevOps. This is mainly to
construct the whole application as a package rather than considering every
process as a different package.
2. Unexpected errors could be handled in this layer rather than Azure DevOps,
meaning only exception information is sent back to Azure DevOps.

Deployment Automation API operations

CreatePackage
This endpoint receives requests when the build pipeline is triggered. This operation
sends multiple requests to AtomSphere API, and creates packages of the listed
components with the same package version number as the build.
DeployPackage
Once the package is created, it's then time to deploy the packages in different
environments. This endpoint receives the request when a release pipeline is
triggered. It then sends a request to AtomSphere API for each component ID in the
pipeline.

Leveraging AtomSphere API

I used the following AtomSphere API endpoints:

1. Packaged component Object: 


2. Deployed Package
Azure DevOps 
Please follow the below steps to set up the Azure DevOps side of the things:

Create the Repository

1. Login to Azure DevOps and create a repository.


2. Create a JSON file which will contain the component IDs of all the deployable
component in your array. Include component IDs of the deployable
component and not of any sub-process, connections or any other shared
components.

 
Click the revision history of the components for component IDs, it will show
the respective components revision history.

Create the Build Pipeline

1. Login to Azure DevOps and create a build pipeline.


2. Select the repository created in the previous section as the source.
3. Add a task to send a request to the Boomi Deployment Automation
API's create Package operation. The request message consists of a JSON
payload that contains the build number of the build pipeline and the
array of component IDs retrieved from the repository.

Create the Release Pipeline

1. Login to Azure DevOps and create a release pipeline.


2. Select the corresponding build artifact as a source to this release pipeline.
3. Add a new task which sends a request to the Boomi Deployment Automation
API's deploy Package operation. The request message consists of a JSON
payload which contains the build number, target Environment Name and the
array of component IDs retrieved from the repository. This task will be added
to each stage which in turn corresponds to different testing/production
environments.
Step by step guide once setup is finalised

New Boomi application

1. Create your Boomi application.


2. Create the JSON file containing the component IDs and add it in the newly
created repository.
3. Create the build and release pipelines.
4. Trigger the build pipeline to create a new package of the
components mentioned in the manifest file.
5. Trigger the release pipeline to deploy the new package of the components in
Boomi environments.

New deployable components in Boomi application

1. Add the new deployable component IDs to the JSON file.


2. Trigger the build pipeline to create a new package of the components
mentioned in the manifest file.
3. Trigger the release pipeline to deploy the new package of the components in
Boomi environments.

Updates in the existing components


There is no need to update the repository with anything in this case. Follow the
steps outlined below for the updated code to be deployed in required environments.

1. Trigger the build pipeline to create a new package of the


components mentioned in the manifest file.
2. Trigger the release pipeline to deploy the new package of the components in
Boomi environments.

Conclusion
Automated Deployment of Boomi applications is possible using the AtomSphere API,
a custom Deployment Automation API and Azure DevOps (or any other DevOps tool).
This approach helps in the following:
1. Allows to package applications as a whole rather than individual processes.
2. Keeps track of deployed package versions in Azure DevOps.
3. Streamlines the process of promoting Boomi packages to higher environments.

You might also like