---
description: Install private Capawesome Insiders npm packages in Azure DevOps pipelines. Configure access tokens, npm registry, and CI/CD for Capacitor apps.
title: Integrate Capawesome Insiders with Azure DevOps - Capawesome
image: https://capawesome.io/docs/assets/images/social/insiders/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/)
* 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/)
* [  Pipeline Configuration ](#pipeline-configuration)
* [  Bitbucket Pipelines ](/docs/insiders/integrations/bitbucket-pipelines/)
* [  Capawesome Cloud ](/docs/insiders/integrations/capawesome-cloud/)
* [  Cloudflare Pages ](/docs/insiders/integrations/cloudflare-pages/)
* [  GitHub Actions ](/docs/insiders/integrations/github-actions/)
* [  GitLab CI/CD ](/docs/insiders/integrations/gitlab-ci/)
* [  Ionic Appflow ](/docs/insiders/integrations/ionic-appflow/)
* [  Jenkins ](/docs/insiders/integrations/jenkins/)
* [  Vercel ](/docs/insiders/integrations/vercel/)
* [  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 Configuration ](#pipeline-configuration)

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

You can use private Capawesome npm packages within your [Azure Pipelines](https://azure.microsoft.com/products/devops/pipelines) by configuring the Capawesome npm registry. This guide shows you how to set up authentication to access the private packages from the Capawesome Insiders program.

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

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

[Get your license key](/docs/insiders/faq/#where-can-i-find-my-license-key) and add it to your Azure Pipeline as a secret variable with the name `CAPAWESOME_NPM_REGISTRY_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). Make sure to mark the variable as secret.

Keep your license key secure 

Never commit your license key directly to your repository and always use environment variables to store sensitive information like authentication tokens.

## Pipeline Configuration[¶](#pipeline-configuration "Permanent link")

### Configure the npm registry[¶](#configure-the-npm-registry "Permanent link")

Add the following script steps to your Azure Pipeline **before** installing npm dependencies:

`[](#%5F%5Fcodelineno-0-1)- script: echo "@capawesome-team:registry=https://npm.registry.capawesome.io" >> .npmrc
[](#%5F%5Fcodelineno-0-2)  displayName: Configure Capawesome npm registry
[](#%5F%5Fcodelineno-0-3)- script: echo "//npm.registry.capawesome.io/:_authToken=$(CAPAWESOME_NPM_REGISTRY_TOKEN)" >> .npmrc
[](#%5F%5Fcodelineno-0-4)  displayName: Authenticate with Capawesome registry
`

This will automatically configure npm to use the Capawesome registry for `@capawesome-team` packages during Azure DevOps builds.

### Example[¶](#example "Permanent link")

Here's a complete example of an `azure-pipelines.yml` file that builds an Ionic app using private Capawesome packages:

`[](#%5F%5Fcodelineno-1-1)trigger:
[](#%5F%5Fcodelineno-1-2)- main
[](#%5F%5Fcodelineno-1-3)
[](#%5F%5Fcodelineno-1-4)pool:
[](#%5F%5Fcodelineno-1-5)  vmImage: ubuntu-latest
[](#%5F%5Fcodelineno-1-6)
[](#%5F%5Fcodelineno-1-7)variables:
[](#%5F%5Fcodelineno-1-8)  - name: nodeVersion
[](#%5F%5Fcodelineno-1-9)    value: '20.x'
[](#%5F%5Fcodelineno-1-10)
[](#%5F%5Fcodelineno-1-11)jobs:
[](#%5F%5Fcodelineno-1-12)- job: Build
[](#%5F%5Fcodelineno-1-13)  displayName: Build App
[](#%5F%5Fcodelineno-1-14)  steps:
[](#%5F%5Fcodelineno-1-15)  - checkout: self
[](#%5F%5Fcodelineno-1-16)    displayName: Checkout Repository
[](#%5F%5Fcodelineno-1-17)  - task: UseNode@1
[](#%5F%5Fcodelineno-1-18)    inputs:
[](#%5F%5Fcodelineno-1-19)      version: $(nodeVersion)
[](#%5F%5Fcodelineno-1-20)    displayName: Setup Node.js $(nodeVersion)
[](#%5F%5Fcodelineno-1-21)  - script: echo "@capawesome-team:registry=https://npm.registry.capawesome.io" >> .npmrc
[](#%5F%5Fcodelineno-1-22)    displayName: Configure Capawesome npm registry
[](#%5F%5Fcodelineno-1-23)  - script: echo "//npm.registry.capawesome.io/:_authToken=$(CAPAWESOME_NPM_REGISTRY_TOKEN)" >> .npmrc
[](#%5F%5Fcodelineno-1-24)    displayName: Authenticate with Capawesome registry
[](#%5F%5Fcodelineno-1-25)  - script: npm ci
[](#%5F%5Fcodelineno-1-26)    displayName: Install Dependencies
[](#%5F%5Fcodelineno-1-27)  - script: npx cap sync
[](#%5F%5Fcodelineno-1-28)    displayName: Sync Capacitor
[](#%5F%5Fcodelineno-1-29)  - script: npm run build
[](#%5F%5Fcodelineno-1-30)    displayName: Build App
[](#%5F%5Fcodelineno-1-31)  - task: PublishBuildArtifacts@1
[](#%5F%5Fcodelineno-1-32)    inputs:
[](#%5F%5Fcodelineno-1-33)      pathtoPublish: 'dist'
[](#%5F%5Fcodelineno-1-34)      artifactName: 'build-output'
[](#%5F%5Fcodelineno-1-35)    displayName: Publish Build Artifacts
`

May 7, 2026 

 Back to top 