Custom CI/CD Pipelines
Custom CI/CD pipelines give you complete control over your deployment workflow. Use them when you need approval gates, multi-stage deployments, or tests that must pass before any deployment.
GitHub Users
If you use GitHub, you likely don't need custom CI/CD. The built-in integration deploys automatically, and you can add deployment testing to run tests after each deploy.
Custom pipelines unlock:
- Pre-deployment testing — Tests must pass before anything deploys
- Approval gates — Require human approval for production
- Tag-based releases — Deploy only when you tag a release
- Multi-stage workflows — Staging → production with validation between
Choose Your CI/CD Provider
- GitHub Actions — Workflows with approval gates and multi-stage deployments
- Azure Pipelines — Enterprise pipelines with environment approvals
- GitLab CI/CD — Integrated pipelines with protected environments
- Bitbucket Pipelines — Repository-native deployments with manual triggers
- CircleCI — Flexible workflows with approval jobs
How It Works
Every Zuplo project can be deployed via the Zuplo CLI. The CLI commands integrate into any CI/CD system:
zuplo deploy— Deploy your API to Zuplozuplo test— Run your test suite against any endpointzuplo delete— Remove an environment when no longer neededzuplo dev— Start a local server for testing in CI
Branch names become environment names automatically. Push to feature-auth and
you get a feature-auth environment. This
branch-based model makes preview environments
trivial to implement.
GitHub Users: Disconnect Automatic Deployments
If you're using GitHub with custom CI/CD, disconnect the built-in integration to prevent double deployments. Open your project settings, select Source Control, and click Disconnect.
GitLab, Bitbucket, and Azure DevOps don't have automatic deployments, so no disconnection is needed.
Getting Your API Key
The CLI authenticates with an API key. Open Account Settings → API Keys in the Zuplo Portal to create one.
Store this as a secret in your CI/CD provider (typically ZUPLO_API_KEY). Never
commit API keys to your repository.
Related Resources
- Branch-Based Deployments — How branches map to environments
- Zuplo CLI Reference — Complete CLI documentation
- Testing — Writing tests for your API