Deploy a Carbon Application(.car file) to a WSO2 EI deployment using Azure Devops CICD pipelines

How did we automate a WSO2 Deployment, CI/CD with Azure Devops — part 04

automate wso2 deployments with azure devops cicd pipelines — part 04

This is the 4th post of a series of posts about Automating a WSO2 deployment using Azure Devops pipelines. Links to all the posts can be found in the bottom of this article.

In this post Im going to explain how did we develop a CI/CD pipeline to deploy Carbon Applications(.car files) to a WSO2 EI deployment in an Openshift cluster. We used maven car deploy plugin to deploy the .car files.

These are Maven Multi Module projects. Which contained a config project, a registry resources project, a composite application project as sub projects.

I will post the whole pipeline file here. There are two main stages for each environment. Build stage and Deploy stage. Therefore there are 6 stages all together in this pipeline. Below are the tasks we have used inside those Stages.

Build Stage:

  1. TokenReplace task to assign values for the parameterised placeholders.
  2. Maven Task to build the whole project
  3. PublishPipelineArtifact task to push the built artefact to artefact repository.

Deploy Stage:

  1. DownloadPipelineArtifact task to download the artefact(.car file)
  2. DownloadSecureFile task to retrieve the client-truststore.jks file. Maven deploy command will deploy the artefact via an HTTPS call. Hence the EI servers public certificate is needed.
  3. Maven task to run maven deploy command to deploy via maven car deploy plugin.

Thats it folks , I hope it was helpful :)

Links to other posts in this series…

Part 01

Part 02

Part 03

Part 04