ZuploZuplo
LoginStart for Free
  • Documentation
  • API Reference
Introduction
Getting Started
    Develop using the Portal
      1 - Setup Your Gateway2 - Rate Limiting3 - API Key Auth4 - Deploy5 - Dynamic Rate LimitingMCP - Quick start
    Develop Locally
      1 - Setup Your Gateway2 - Rate Limiting3 - API Key Auth
Concepts
Development
Policies
Handlers
API Keys
MCP Server
MCP Gateway
AI Gateway
Developer Portal
Monetization
Deploying & Source Control
    Overview
    GitHub
    GitLab
    Bitbucket
    Azure DevOps
      SetupBasic DeploymentDeploy and TestPR Preview EnvironmentsLocal Testing in CITag-Based ReleasesMulti-Stage Deployment
    CircleCI
    Custom CI/CDMonorepo DeploymentRename/Move Project
Observability
Networking & Infrastructure
Account Management
Programming API
Build with AI
Zuplo CLI
Migration Guides
Platform LimitsSecuritySupportTrust & ComplianceChangelog
powered by Zudoku
Azure DevOps

Azure Pipelines: Multi-Stage Deployment

Deploy to staging, test, then promote to production with approval.

azure-pipelines.yml
trigger: - main pool: vmImage: ubuntu-latest stages: - stage: DeployStaging displayName: "Deploy to Staging" jobs: - job: Deploy steps: - task: NodeTool@0 inputs: versionSpec: "20.x" - script: npm install - script: | set -o pipefail npx zuplo deploy --api-key $(ZUPLO_API_KEY) --environment staging 2>&1 | tee ./STAGING_STDOUT STAGING_URL=$(grep -oP 'Deployed to \K(https://[^ ]+)' ./STAGING_STDOUT) echo "##vso[task.setvariable variable=STAGING_URL;isOutput=true]$STAGING_URL" name: deployStep displayName: "Deploy to staging" - stage: TestStaging displayName: "Test Staging" dependsOn: DeployStaging variables: STAGING_URL: $[ stageDependencies.DeployStaging.Deploy.outputs['deployStep.STAGING_URL'] ] jobs: - job: Test steps: - task: NodeTool@0 inputs: versionSpec: "20.x" - script: npm install - script: npx zuplo test --endpoint $(STAGING_URL) displayName: "Run tests against staging" - stage: DeployProduction displayName: "Deploy to Production" dependsOn: TestStaging jobs: - deployment: Deploy environment: production strategy: runOnce: deploy: steps: - checkout: self - task: NodeTool@0 inputs: versionSpec: "20.x" - script: npm install - script: npx zuplo deploy --api-key $(ZUPLO_API_KEY) --environment production displayName: "Deploy to production"

Setting Up Approval

Create an environment with approval checks:

  1. Go to Pipelines > Environments
  2. Create an environment named production
  3. Add Approvals and checks
  4. Add required approvers

The pipeline pauses before production deployment until approved.

Edit this page
Last modified on December 3, 2025
Tag-Based ReleasesCircleCI
On this page
  • Setting Up Approval
YAML