[Trigger Pipeline] CI/CD Pipeline with Azure DevOps - Deploying Main Application plus Dependencies
Forge component by Rui Mendes
Application Type
Traditional Web, Mobile, Reactive, Service


My project team are looking to leverage Azure Pipelines as part of our Outsystems CI/CD pipeline by implementing a solution similar to what is described here - Building an OutSystems pipeline with Azure DevOps · OutSystems/outsystems-pipeline Wiki · GitHub 

In a nutshell, we would ultimately like our Azure Pipelines to orchestrate a release of a number of Outsystems applications, when triggered via the Outsystems Forge Trigger Pipeline LifeTime plugin.  

Each of our Outsystems CI/CD pipeine will typically comprise of:

  1. One main application
  2. One or more dependencies for the main application

The objective for us therefore is that when our release orchestration is triggered in Azure Pipelines, the deployment will comprise of both the main application and all dependencies, as described above........without the need to set up individual release pipelines in Azure DevOps for the main application and all dependencies. Is this achievable using the aforementioned Trigger Pipeline plugin? Also, is there a specific version of Outsystems that is required for this?

You can add the same application to multiple pipelines in the Trigger pipeline plugin, but you have to keep in mind that the tool will create a manifest with the specific versions to be deployed during releases to the next environments. If the same (dependent) application is present in multiple pipelines the order of deployment will become a factor and you must make sure that a new build must be produced for the other pipelines, since the builds of the other pipelines will contain the previous versions of the dependent apps. 

The trigger pipeline plugin will prevent you from deploying older versions than present on your target environment (you will get a  stale message). This means your build (or release) is broken and will fail.

In my opinion you should make different pipelines and trigger them in the right order by building a master pipeline in Azure DevOps triggering all the individual pipelines in the right order. That way you can make sure applications are in just one pipeline

But of course this brings new complexities because you will have to make sure changes are backwards compatible : you will trigger each pipeline (or deploy a release) individually

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.