Introducing Source Control: Git-based branching and version control in Retool

Avi Moondra
Avi Moondra
Retool

May 4, 2022

Running git init is one of the first steps we take when starting a software development project. Version Control Systems (VCS) like git enable us to maintain history of a codebase, experiment freely on isolated branches, and support better collaboration by merging branches together. It’s a safe and popular way for software teams to collaborate, and we set out to create a similar experience for teams building applications in Retool.

We’re excited to announce Retool Source Control: branch-based editing workflows in Retool, compatible with git . In this post, you'll learn why we did it, how it works, and where we’re going.

Source Control demo workshop: Join us and our customer, Axle Payments, to learn how they use branch-based editing in Retool to ship apps faster. Watch the recording today.

Building at Scale

Why bring Source Control to Retool? It’s how developers want to work. Most developers today are familiar with version control systems like git and platforms like GitHub and GitLab, which are critical to enabling collaboration around code and shipping confidently.

We want to provide you with a robust infrastructure to sustain and improve the velocity and quality of your development on Retool, especially as your userbase and development teams grow. With Source Control, we can version control more than just applications (what we called "Protected Applications"). It sets the stage for us to support version control for other objects including resources, themes, queries, and more.

With Source Control, you can:

  • Edit an application on branches without overwriting your teammate's edits—even while end-users continue using the live in-production app
  • Review code changes with pull requests from the current branch to the main branch on source-controlled apps
  • Easily isolate and promote changes in different Retool instances (dev, staging, QA, and production)

Overall, Source Control is a much better development experience for software teams that need to scale their internal operations across many developers.

Source Control in Retool

Customers on Retool’s Enterprise plan get integrations to the git-based Source Control Management (SCM) provider of their choice. You’ll quickly learn how to use Retool Source Control with your existing workflow since it’s integrated to sit side-by-side with your production codebase. By connecting to provider-specific APIs, we built Retool to be a multi-tenant developer hub and take full advantage of each SCM platform’s capabilities:

  • Generating pull requests
  • Running and reporting checks in CI
  • Deleting branches post-merge via webhooks

Dozens of our largest customers like Brex, Vimeo, Curve, Bolt, Forethought AI, and Axle Payments use Source Control in Retool to ship apps more confidently.

“Source Control gives us the transparency that we need to review and approve changes across multiple configurations. The integration with our development workflows has made it easier for us to manage apps in different environments.

Now, we deploy apps and updates at a faster rate with the safety that we need as we scale. I'm more confident in enabling teams to build in Retool.” - Greg Mundy, Head of Engineering at Axle Payments (Learn how Greg uses Source Control)

How it works

Source Control leverages a native API-based integration with GitHub, GitLab, and AWS CodeCommit (with more integrations to come) so that changes are only made through pull requests on branches of the app in GitHub, Gitlab, or AWS CodeCommit, not directly to the live app.

Branch-based workflows on Retool should feel familiar, especially if you’ve used git before. Here are the steps:

  • Open a branch against a live app (i.e., no direct writes to main or master are allowed)
  • Make changes safely without affecting end-user experiences
  • Commit those changes as named point-in-time commits
  • Push them to a remote repository to open a pull request
  • Merge them after code review and testing
  • Continuously deploy changes to your Retool instances

It’s that simple!

With Source Control, the entire collaboration experience is much smoother. Let’s say your team is collaborating on a Retool app that pulls data together from Salesforce and your production database for a Customer Success Dashboard. Your customer success team can keep using the Retool app as expected, while you and your teammates each open separate branches of the app to build new features.

Editing the Customer Success Dashboard on a branch
Editing the Customer Success Dashboard on a branch

Now, each of you can create pull requests and merge your branch into the live app after code review and visual testing.

What about deploying across multiple environments?

For those running multi-instance Retool deployments, Source Control keeps instances in sync with granular controls on a per-app basis, unlocking various opt-in capabilities like omitting work-in-progress apps and editing applications on branches in production instances. If you’re already using Git Syncing in Retool, consider migrating to Source Control to experience this smoother process.

Builders can work exclusively in development or staging isolated from production resources, and after changes are finalized, a separate set of end users can use these live apps in a production environment.

Deploying Retool across multiple environments
Deploying Retool across multiple environments

What’s next

Source Control is just the beginning for enabling safer, and more collaborative development in Retool:

  • We’re excited to soon support version controlling other critical components—like resources, themes, queries, and more—on shared branches that are accessible across all of Retool.
  • Beyond GitHub, GitLab, and AWS CodeCommit, we are actively adding support for other popular SCM providers like Bitbucket and Azure DevOps.
  • Finally, with Testing, you can run your app’s test suite as part of your CI workflow and have confidence in any change before merging and deploying it.

With an Enterprise Self-Hosted plan, you can set up Source Control by following our step-by-step guide and start with just one or a few of your most critical apps. If you’d like a demo or try it yourself, email your Retool contact or schedule a meeting with us today.

Want to learn more? Join us and our customer, Axle Payments, to learn how they use branch-based editing in Retool to ship apps faster. Watch the recording today.

Reader

Avi Moondra
Avi Moondra
Retool
May 4, 2022
Copied