Skip to main content

Release Pipeline

WhatIF has two release pipelines: one for the web application and one for the API, each with its own artifact, task sequence, and variable set.

Web release pipeline​

The web release pipeline (owlsure-whatif-web-release) deploys the Angular web application using the owlsure-whatifweb artifact.

  1. Create Webapp (Azure PowerShell): Creates a new Azure App Service if one does not already exist. Executes only when CreateNewWebApp is set to true.

    Create Webapp task

  2. JSON File Transform: Replaces bracketed placeholders in server-computed.json with pipeline variable values.

    JSON File Transform task

  3. Deploy Azure App Service Linux: Deploys the compiled web application to the App Service.

    Deploy Azure App Service Linux task

  4. Restart Azure App Service: Restarts the App Service to load the new build and configuration.

    Restart Azure App Service task

API release pipeline​

The API release pipeline (owlsure-whatif-api-release) deploys the .NET 10 API using the owlsure-whatifapi artifact.

  1. Create Webapp (Azure PowerShell): Creates a new Azure App Service if one does not already exist. Executes only when CreateNewWebApp is set to true.

    Create Webapp task

  2. Add CORS Origins (Azure PowerShell): Adds the configured allowed origins to the CORS configuration.

    Add CORS Origins task

  3. JSON File Transform: Replaces bracketed placeholders in appsettings.json with pipeline variable values.

    JSON File Transform task

  4. Deploy Azure App Service Linux: Deploys the API application to the App Service.

    Deploy Azure App Service Linux task

  5. Azure App Service Settings: Applies connection strings and application settings to the App Service.

    Azure App Service Settings task

  6. Restart Azure App Service: Restarts the App Service to load the new deployment and settings.

    Restart Azure App Service task

Pipeline variables​

The full variable reference for both pipelines is in Pipeline Variables.

Exporting and importing pipelines​

Variables stored in variable groups are not included in the export and must be configured independently in the target environment.

Export a pipeline​

In Azure DevOps, open the release pipeline, click Export, and save the generated JSON file.

Import a pipeline​

  1. In Azure DevOps, navigate to Pipelines > Releases.
  2. Click New > Import release pipeline and upload the exported JSON file.
  3. Update all variable values for the target environment, then save and run the pipeline.