Undoubtedly, Salesforce has transformed the way of managing and developing Salesforce applications with the introduction of Salesforce DX. Salesforce DX is an innovative suite of tools designed to provide Salesforce developers with a more modern user experience across the entire development lifecycle. It enhances team development and collaboration, facilitates automated testing and continuous integration (CI), and makes the release cycle more efficient and flexible.
To retrieve and push metadata to an org, Salesforce DX uses the Force.com migration tool, also known as a developer environment. While task automation, it is preferred to create a disposable environment for testing specific code/changes rather than making those changes in a shared organization. This is where Scratch Org comes into the picture.
A scratch org is a dedicated, fully configurable, and short-term Salesforce environment. Developers can copy different editions with various features and preferences, critical for development productivity and collaboration. They can also be used as part of automation testing and a complete CI package implementation. You can easily share the scratch org configuration file with other team members, so everyone has access to the same basic org.
Note: If you are trying to install Salesforce CLI and run Salesforce DX commands, there are a few commands that you need to authenticate with Dev Hub first. This functionality is what allows you and your team to create and manage scratch Orgs.
What Is A Salesforce Dev Hub?
A Dev Hub is the main Salesforce org that enables you to create and manage scratch Orgs. Scratch Orgs are known as temporary Salesforce environments where you do the bulk development work within this new source-driven development paradigm. You can use the Dev hub as a production and the centralized repository where all the code merges from the various developers.
Steps To Enable Developer Hub
1. Head to your Salesforce Org.
2. Go to the setup.
3. Click on the quick find box.
4. Type DevHub and open it.
5. On the third point, you will find the Enable dev hub. Click the toggle button to enable the dev hub.
NOTE: Once you Enable the Dev Hub, you can’t disable it again.
Steps To Create A Scratch Org In Salesforce
- Firstly, you should have a visual studio, which is recommended IDE from the Salesforce site. You can download VS Code from the below link and install it: https://code.visualstudio.com/Download
- Download the Salesforce CLI and install it on your machine. Download for the appropriate Operating system. https://developer.salesforce.com/tools/sfdxcli
- Open Your Visual studio.
- On the left side, click on the Last icon or press Ctrl + Shift + X.
- Search for Salesforce extension pack.
- Now install this package.
- You can then create a project; open the command prompt, press ctrl+Shift+P, and type Create a project and enter. Write the project name.
- Now again, press Ctrl+Shift+p and select Authorised dev hub.
- It will redirect you to the browser to submit your credentials.
- Now again, press Ctrl+Shift+p and select Create Scratch default org.
- Now it will ask for a scratch definition file, so select the default one.
- Now you need to give an alias name to the scratch org.
- Now choose the number of days you want to expire.
- Now scratch org is created as your alias name.
- When scratch org is created, it will return the id of scratch org.
- Now you can open your default org by pressing Ctrl+Shift+p and select Open default org.
Benefits Of Scratch Org
- Supported add-on features can be enabled within scratch org that may not already exist in your production environment.
- You have complete control over where and when you do your testing. You can test a single issue, a feature branch, pre-merge, post-merge.
- With Scratch orgs, the source of truth for every task is the version control repository, i.e., your local work directory.
Salesforce Dx is a modern approach in the Salesforce development lifecycle. You can keep a particular piece of work isolated for development as well as testing with Scratch org. This development environment gives you several major advantages over traditional sandbox development environments that allow you to quickly turn ideas into solutions without disrupting the actual development cycle. Developers can use these types of Orgs to build and test packages. Moreover, developers can create multiple Scratch Orgs and assign them to a specific Salesforce DX project.
Want to stay on top of the Salesforce CRM platform and learn how to make the most out of it? Subscribe to our YouTube channel now. To get the latest news and updates on CRM, Salesforce, Google Cloud, Cloud Computing, and more!