CircleCI

CircleCI: PR Preview Environments

Applies to
Gatewayruntime for API, AI, and MCP gateways
Hosting
Managed EdgeManaged DedicatedSelf-HostedDiffers
1 difference by hosting option
Self-Hosted

Add --self-hosted-endpoint with your management API hostname to each zuplo deploy and zuplo delete command so it targets your cluster. See zuplo deploy.

Deploy preview environments for pull requests and clean up after tests.

YAML.circleci/config.yml
version: 2.1 jobs: deploy-and-test: docker: - image: cimg/node:24.0 steps: - checkout - run: npm install - run: name: Deploy to Zuplo command: | set -o pipefail npx zuplo deploy --api-key "$ZUPLO_API_KEY" 2>&1 | tee ./DEPLOYMENT_STDOUT DEPLOYMENT_URL=$(grep -oP 'Deployed to \K(https://[^ ]+)' ./DEPLOYMENT_STDOUT) echo "export DEPLOYMENT_URL=$DEPLOYMENT_URL" >> "$BASH_ENV" - run: name: Run Tests command: npx zuplo test --endpoint "$DEPLOYMENT_URL" - run: name: Cleanup Preview command: npx zuplo delete --url "$DEPLOYMENT_URL" --api-key "$ZUPLO_API_KEY" --wait when: always workflows: preview: jobs: - deploy-and-test

The cleanup step runs after tests complete (whether they pass or fail), deleting the preview environment.

Next Steps

Last modified on