How To Create A Scratch Org Pool

Salesforce scratch orgs are designed to be isolated, self-contained environments that can be created and discarded once they are no longer needed.

How To Create A Scratch Org Pool
Table of contents
Scratch orgs are created using a scratch org definition file, which specifies the org's configuration, features, and duration.

They can be used by developers and admins to build and test customizations before deploying them to production environments.

But there are limitations to creating scratch orgs, which include the following:

  • Scratch orgs have limited storage space compared to regular Salesforce orgs. This means that you may not be able to store as much data or metadata in a scratch org.
  • Scratch orgs have limited capability for customizations, which can make it challenging to develop against intricate customizations.
  • There is a limit to the number of scratch orgs that you can create in a given period of time.
  • Setting up a scratch org can take from a few minutes to even hours for highly complex projects, depending on the nature of the configuration and the amount of metadata of your project. This setup time can be a disadvantage if you need to create many scratch orgs regularly.
To address the main con of scratch org creation time, Hutte cuts through the time it takes to spin up a scratch org by having a ready-to-use scratch org pool.

Hutte Saves Time By Managing A Pool Of Ready-To-Use Scratch Orgs

Your team does not need to wait for another scratch org to spin up if they can take one from the pool. Hutte has a ready-to-use scratch org pool that you can tap into at any time.

Taking a ready-to-use org from the pool can be accomplished on Hutte’s Web UI. Alternatively, for the developer-minded users, from Hutte’s SFDX plugin.

We were able to create this feature as Hutte is a web-based user interface that enables you to easily leverage the benefits of Git-based development without the need for a command-line interface (CLI).

Hutte is truly one of the best tools that we use. Product owners, Salesforce solution architects, business analysts — anyone on our team can easily and visually accomplish the tasks that would otherwise take a lot of clicks, time, and coding.

Sebastian Lechner

Product Management Director of IPfolio

Source: Hutte

Hutte offers access to Salesforce's full capabilities, providing custom buttons on our web interface to execute complex multi-line commands, such as using our YAML push script to define the behavior of scratch orgs and development environments. 

Native SFDX can be used, for example, to push data or metadata within the script.

The benefit of using Hutte is that there is no need to install or learn Git, as our UI has integrated recipes for Git hosting tools, such as GitHub and Azure.

Additionally, changes made on these hosting providers can be viewed in a line-by-line comparison format.

To test out our product, you can start a free 30-day trial or check out our demo.

In this article, we'll go through Hutte’s scratch orgs and ready-made pool.

Collaborate On Your Scratch Org Creation

By utilizing the "New scratch org" button, numerous users can generate individual scratch orgs, which can be accessed collaboratively by the entire team.

Hutte provides the option to select a Git branch from which you can create your environment and name it, consolidating all of your scratch orgs in one place.

This feature enables you to view a historical overview or snapshot of your projects, apps, and codebases created in Git, which is especially beneficial for teams collaborating on projects.

Without Hutte, relying solely on CLI can be challenging. However, Hutte simplifies the process of making changes to the latest state of your source, implementing new features, and shipping them to Git.

Once integrated with Hutte, developers can load data on the scratch orgs dashboard, and the team can access and create a scratch org from the desired branch by clicking "New scratch orgs."

Running the code locally is no longer a concern, as Hutte's infrastructure allows for asynchronous running of the code without blocking your machine.

After your scratch org is ready, you can log in and test it without affecting other users' data. Hutte essentially streamlines the process of managing and selecting your environments, simplifying the scratch org process.

Take From The Pool

Hutte offers a pool of pre-configured orgs that can be quickly and easily accessed without any wait time. By selecting a scratch org from the pool, you can further expedite the process when you require an environment from the latest state of your source.

To claim a pool, simply choose "Take from pool" and enter the desired pool name. Additionally, you can customize your pool by adjusting the size and duration of the pool in the "Settings" section.

This functionality allows you to customize your pool according to your requirements, offering you more flexibility and control over your resources and data.

Hutte’s Jira Plugin

By utilizing Jira, corresponding work items will be created. Hutte's Jira plugin can then identify scratch orgs that match the name of your work item or issue.

As a product manager, you have the option to leave a comment for the developer who worked on the selected scratch org. This functionality encourages collaboration without compromising or overriding the work performed by the developer.

Spin Up Hutte’s Ready-Made Pool

Although scratch orgs and scratch org pools are designed to be independent workspaces for exploring and testing features in isolation, working collaboratively can help resolve various challenges.

Collaboration streamlines issues, such as configuration management, data management, and managing multiple scratch org pools. It also enables code sharing, dependency management, and workflow optimization.

Having access to a pre-configured pool eliminates the risk of not being able to continue with your work, which can cause unnecessary delays and production lags.

Teaming up with others using Hutte's scratch org pool enhances the development process, making it more efficient and streamlined.