---
description: Use Azure DevOps to build your web assets and create bundles on Capawesome Cloud using the Capawesome CLI.
title: Integrate Capawesome Cloud with Azure DevOps - Capawesome
image: https://capawesome.io/docs/assets/images/social/cloud/live-updates/integrations/azure-devops.png
---

[ Skip to content](#azure-devops) 

[ 🔐 Introducing the **Capacitor Vault** plugin — store secrets behind biometrics or a device passcode.](/blog/announcing-the-capacitor-vault-plugin/) 

* [  SDKs ](/docs/sdks/)
* [  Formbricks ](/docs/sdks/capacitor/formbricks/)
* [  Geocoder ](/docs/sdks/capacitor/geocoder/)
* [  Google Sign-In ](/docs/sdks/capacitor/google-sign-in/)
* [  Grafana Faro ](/docs/sdks/capacitor/grafana-faro/)
* [  libSQL ](/docs/sdks/capacitor/libsql/)
* [  Live Update ](/docs/sdks/capacitor/live-update/)
* [  Managed Configurations ](/docs/sdks/capacitor/managed-configurations/)
* [  Media Session ](/docs/sdks/capacitor/media-session/)
* [  ML Kit ](/docs/sdks/capacitor/mlkit/)
* [  Navigation Bar ](/docs/sdks/capacitor/navigation-bar/)
* [  NFC ](/docs/sdks/capacitor/nfc/)
* [  OAuth ](/docs/sdks/capacitor/oauth/)
* [  Pedometer ](/docs/sdks/capacitor/pedometer/)
* [  Photo Editor ](/docs/sdks/capacitor/photo-editor/)
* [  PostHog ](/docs/sdks/capacitor/posthog/)
* [  Printer ](/docs/sdks/capacitor/printer/)
* [  Purchases ](/docs/sdks/capacitor/purchases/)
* [  RealtimeKit ](/docs/sdks/capacitor/realtimekit/)
* [  Screen Orientation ](/docs/sdks/capacitor/screen-orientation/)
* [  Screenshot ](/docs/sdks/capacitor/screenshot/)
* [  Secure Preferences ](/docs/sdks/capacitor/secure-preferences/)
* [  Speech Recognition ](/docs/sdks/capacitor/speech-recognition/)
* [  Speech Synthesis ](/docs/sdks/capacitor/speech-synthesis/)
* [  Share Target ](/docs/sdks/capacitor/share-target/)
* [  Square Mobile Payments ](/docs/sdks/capacitor/square-mobile-payments/)
* [  SQLite ](/docs/sdks/capacitor/sqlite/)
* [  Superwall ](/docs/sdks/capacitor/superwall/)
* [  Torch ](/docs/sdks/capacitor/torch/)
* [  Vault ](/docs/sdks/capacitor/vault/)
* [  Wifi ](/docs/sdks/capacitor/wifi/)
* [  Zip ](/docs/sdks/capacitor/zip/)
* [  Cordova ](/docs/sdks/cordova/)
* [  Cloud ](/docs/cloud/)
* [  Integrations ](/docs/cloud/live-updates/integrations/)
* [  Pipeline ](#pipeline)
* [  Bitbucket Pipelines ](/docs/cloud/live-updates/integrations/bitbucket-pipelines/)
* Concepts
* Reference
* [  Troubleshooting ](/docs/cloud/live-updates/troubleshooting/)
* [  FAQ ](/docs/cloud/live-updates/faq/)
* [  Native Builds ](/docs/cloud/native-builds/)
* [  Set Up Environments ](/docs/cloud/native-builds/environments/)
* [  Overwrite Native Configurations ](/docs/cloud/native-builds/native-configurations/)
* [  Auto-Increment Build Numbers ](/docs/cloud/native-builds/auto-incrementing-build-numbers/)
* [  Configure the Web Build Script ](/docs/cloud/native-builds/web-build-script/)
* [  Build from a Monorepo ](/docs/cloud/native-builds/monorepo/)
* [  Use pnpm, Yarn, or bun ](/docs/cloud/native-builds/package-managers/)
* [  Install Private npm Packages ](/docs/cloud/native-builds/npm-private-registry/)
* [  Override the Java Version ](/docs/cloud/native-builds/override-java-version/)
* [  Custom iOS Provisioning Profiles ](/docs/cloud/native-builds/custom-ios-provisioning-profiles/)
* [  Build without Git ](/docs/cloud/native-builds/build-without-git/)
* [  Access Git Behind a Firewall ](/docs/cloud/native-builds/firewall-access/)
* [  Integrations ](/docs/cloud/native-builds/integrations/)
* Reference
* [  Troubleshooting ](/docs/cloud/native-builds/troubleshooting/)
* [  FAQ ](/docs/cloud/native-builds/faq/)
* [  App Store Publishing ](/docs/cloud/app-store-publishing/)
* [  Submit a Build ](/docs/cloud/app-store-publishing/submit-a-build/)
* [  Submit Automatically After a Build ](/docs/cloud/app-store-publishing/submit-automatically/)
* [  Troubleshooting ](/docs/cloud/app-store-publishing/troubleshooting/)
* [  FAQ ](/docs/cloud/app-store-publishing/faq/)
* [  Automations ](/docs/cloud/automations/)
* [  Reference ](/docs/cloud/automations/reference/)
* [  Troubleshooting ](/docs/cloud/automations/troubleshooting/)
* [  FAQ ](/docs/cloud/automations/faq/)
* [  Assist ](/docs/cloud/assist/)
* [  CLI ](/docs/cloud/cli/)
* APIs and SDKs
* [  Webhooks ](/docs/cloud/webhooks/)
* [  Integrations ](/docs/cloud/integrations/)
* Account
* [  Organization ](/docs/cloud/organizations/)
* [  Two-Factor Enforcement ](/docs/cloud/organizations/two-factor-authentication/)
* [  Audit Logs ](/docs/cloud/organizations/audit-logs/)
* [  Billing ](/docs/cloud/organizations/billing/)
* [  License Keys ](/docs/cloud/license-keys/)
* [  AI ](/docs/ai/)
* [  Insiders ](/docs/insiders/)
* [  Billing & Plans ](/docs/insiders/billing-and-plans/)
* [  FAQ ](/docs/insiders/faq/)
* [  License ](https://capawesome.io/legal/eula/)
* [  Support ](/docs/support/)
* [  Contributing ](/docs/contributing/)
* Contributing code
* [  Code of Conduct ](/docs/contributing/code-of-conduct/)
* [  Questions ](https://docs.github.com/en/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion#creating-a-discussion)
* [  Blog ](/blog/)
* Categories

* [  Pipeline ](#pipeline)

# Azure DevOps[¶](#azure-devops "Permanent link")

You can easily publish Live Updates to Capawesome Cloud using [Azure Pipelines](https://azure.microsoft.com/de-de/products/devops/pipelines). In this guide, we will show you how to create a Azure pipeline that builds your web assets and creates a bundle on Capawesome Cloud using the [Capawesome CLI](/docs/cloud/cli/).

## Preparation[¶](#preparation "Permanent link")

Before you start, make sure you have a Capawesome Cloud account and an app set up. Next, you need to create a Capawesome Cloud token and add it to your Azure Pipeline as a secure variable.

### Create a Capawesome Cloud token[¶](#create-a-capawesome-cloud-token "Permanent link")

Create a new Capawesome Cloud token via the [Capawesome Cloud Console](https://console.cloud.capawesome.io/settings/tokens). Just navigate to the `Tokens` page in the settings and click on the `Create Token` button. Choose a name for the token and click on the `Create` button. The token is now copied to your clipboard.

### Create a Azure Pipeline Variable[¶](#create-a-azure-pipeline-variable "Permanent link")

Add the Capawesome Cloud token to your Azure Pipeline as a secure variable with the name `CAPAWESOME_CLOUD_TOKEN` as described in [Set secret variables](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch#secret-variables).

## Pipeline[¶](#pipeline "Permanent link")

### Create the Pipeline[¶](#create-the-pipeline "Permanent link")

Create a new Azure Pipeline file in your repository under `azure-pipelines.yml` with the following content:

`[](#%5F%5Fcodelineno-0-1)trigger: none
[](#%5F%5Fcodelineno-0-2)
[](#%5F%5Fcodelineno-0-3)parameters:
[](#%5F%5Fcodelineno-0-4)  - name: channel
[](#%5F%5Fcodelineno-0-5)    displayName: Channel
[](#%5F%5Fcodelineno-0-6)    type: string
[](#%5F%5Fcodelineno-0-7)
[](#%5F%5Fcodelineno-0-8)pool:
[](#%5F%5Fcodelineno-0-9)  vmImage: ubuntu-latest
[](#%5F%5Fcodelineno-0-10)
[](#%5F%5Fcodelineno-0-11)jobs:
[](#%5F%5Fcodelineno-0-12)- job: Deploy
[](#%5F%5Fcodelineno-0-13)  displayName: Build web assets
[](#%5F%5Fcodelineno-0-14)  steps:
[](#%5F%5Fcodelineno-0-15)  - checkout: self
[](#%5F%5Fcodelineno-0-16)    displayName: Checkout
[](#%5F%5Fcodelineno-0-17)  - task: UseNode@1
[](#%5F%5Fcodelineno-0-18)    inputs:
[](#%5F%5Fcodelineno-0-19)      version: 20.x
[](#%5F%5Fcodelineno-0-20)    displayName: Install Node.js
[](#%5F%5Fcodelineno-0-21)  - script: npm ci
[](#%5F%5Fcodelineno-0-22)    displayName: Install Dependencies
[](#%5F%5Fcodelineno-0-23)  - script: npm run build
[](#%5F%5Fcodelineno-0-24)    displayName: Build web assets
[](#%5F%5Fcodelineno-0-25)  - script: npm install -g @capawesome/cli@latest
[](#%5F%5Fcodelineno-0-26)    displayName: Install Capawesome CLI
[](#%5F%5Fcodelineno-0-27)  - script: npx @capawesome/cli apps:channels:create --app-id 00000000-0000-0000-0000-000000000000 --name $env:CHANNEL --ignore-errors
[](#%5F%5Fcodelineno-0-28)    displayName: Create a channel on Capawesome Cloud
[](#%5F%5Fcodelineno-0-29)    env:
[](#%5F%5Fcodelineno-0-30)      CAPAWESOME_CLOUD_TOKEN: $(CAPAWESOME_CLOUD_TOKEN)
[](#%5F%5Fcodelineno-0-31)      CHANNEL: ${{ parameters.channel }}
[](#%5F%5Fcodelineno-0-32)  - script: npx @capawesome/cli apps:liveupdates:upload --app-id 00000000-0000-0000-0000-000000000000 --channel $env:CHANNEL --path dist
[](#%5F%5Fcodelineno-0-33)    displayName: Create a bundle on Capawesome Cloud
[](#%5F%5Fcodelineno-0-34)    env:
[](#%5F%5Fcodelineno-0-35)      CAPAWESOME_CLOUD_TOKEN: $(CAPAWESOME_CLOUD_TOKEN)
[](#%5F%5Fcodelineno-0-36)      CHANNEL: ${{ parameters.channel }}
`

This pipeline will build your web assets, log in to Capawesome Cloud, create a channel (if it does not exist yet), and create a bundle for the specified channel.

### Trigger the Pipeline[¶](#trigger-the-pipeline "Permanent link")

You can then trigger the pipeline manually by running it in the Azure Pipelines UI or by using the Azure Pipelines API. You will be prompted to enter the channel name. Of course, you can also trigger the pipeline automatically by specifying a different trigger.

June 8, 2026 

 Back to top 