Issue
As a developer working with Appsmith, I need to know the recommended development process for separating the stages of development, beta, and production. Currently, I find it difficult to work with the same database and APIs in all stages. I am wondering if there are any suggested ways to separate the stages or if Appsmith offers any CI/CD capabilities.
Resolution
The recommended dev process with Appsmith is to use separate environments for development, staging, and production. Appsmith provides tools that support a structured development process.
1. Version Control with Git
Appsmith supports native version control using Git, allowing developers to:
- Collaborate safely using branches for development, staging, and production
- Track changes with commit history
- Sync changes across instances with Git-based deployments
With Git enabled, you can create isolated branches for testing and merge changes only after validation—mimicking a traditional CI/CD workflow.
2. Datasource Environments (Business Edition)
If you're on a Business plan, you can also configure Datasource Environments. This enables:
- Environment-specific configuration for datasources (e.g., dev, staging, prod)
- Seamless switching without modifying app logic
- Isolation of data and API endpoints per environment
This means you can point the same app to different backend systems depending on the current stage—without duplicating pages or widgets.
3. Continuous Delivery (Enterprise Edition)
For Enterprise customers, Appsmith offers Continuous Delivery with Git, which automates deployment pipelines and environment syncing.
With this, you can:
- Push updates from your Git repo to different environments automatically
- Manage separate instances for staging, QA, and production
- Reduce manual deployment steps and errors
Suggested Workflow
A typical development process might look like this:
- Connect your Appsmith app to a Git repository.
- Use Git branches to separate development and production changes.
- (Enterprise) Set up CI/CD to deploy from repo to target environments.
- (Business/Enterprise) Configure datasource environments for isolation.
- Test in staging, then merge and deploy to production confidently.
This approach ensures changes are tested in isolation before reaching production, without manually switching datasources or duplicating apps.