ZuploZuplo
LoginSign Up
  • 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
      SetupBasic DeploymentDeploy and TestMR Preview EnvironmentsLocal Testing in CITag-Based ReleasesMulti-Stage Deployment
    Bitbucket
    Azure DevOps
    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
GitLab

GitLab CI/CD: MR Preview Environments

Deploy preview environments for merge requests and clean up when they close.

.gitlab-ci.yml
image: node:20 stages: - deploy - test - cleanup deploy: stage: deploy script: - npm install - npx zuplo deploy --api-key "$ZUPLO_API_KEY" 2>&1 | tee ./DEPLOYMENT_STDOUT - echo "DEPLOYMENT_URL=$(grep -oP 'Deployed to \K(https://[^ ]+)' ./DEPLOYMENT_STDOUT)" >> deploy.env artifacts: reports: dotenv: deploy.env test: stage: test needs: - deploy script: - npm install - npx zuplo test --endpoint "$DEPLOYMENT_URL" cleanup: stage: cleanup needs: - test script: - npm install - npx zuplo delete --url "$DEPLOYMENT_URL" --api-key "$ZUPLO_API_KEY" --wait rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event"

The cleanup job only runs for merge request pipelines, deleting the preview environment after tests pass.

Next Steps

  • Implement multi-stage deployment for production
Edit this page
Last modified on December 3, 2025
Deploy and TestLocal Testing in CI
On this page
  • Next Steps
YAML