FlexDeploy is an Enterprise DevOps platform with fully integrated support for Salesforce apps, metadata customizations, integrations and more. This is the fourth article in a blog series that will help you understand what makes FlexDeploy a perfect choice to implement DevOps, CI/CD, and release automation with Salesforce.
Here is a summary of the FlexDeploy Loves Salesforce series.
- FlexDeploy Loves Salesforce: DevOps for Salesforce
- FlexDeploy Loves Salesforce: Source Control Your Salesforce Changes
- FlexDeploy Loves Salesforce: Deploy Salesforce Apps and Metadata Objects
- FlexDeploy Loves Salesforce: Build and Deploy Salesforce DX Apps
- FlexDeploy Loves Salesforce: Unit Test and Test Automation for Your Salesforce
In the previous blog article, we saw how easy it is to retrieve, view differences, and deploy your changes to your test and production orgs with FlexDeploy. In this article, we will see how easy it is to deploy your changes from SFDX to your test and production orgs with FlexDeploy.
Salesforce Developer Experience
Salesforce Developer Experience (DX) is a new way to develop and manage Salesforce apps using scratch orgs and version control. Scratch orgs are available for the Dev Hub enabled Salesforce platforms. These scratch orgs consist of Salesforce code or metadata that can be easily created or destroyed, helping to speed up the standard development workflow.
Salesforce DX is primarily used by advanced developers with version control and using Visual Studio. FlexDeploy enables all DX features to administrators and no-code or low-code developers who are not often experienced using tools like version control or Visual Studio. At the same time, FlexDeploy provides all the features to embrace the new development process with best practices for advanced Salesforce developers to take advantage of full CI/CD automation. If you are thinking about moving to SFDX, but a lack of skills and process knowledge is stopping you, FlexDeploy helps you to transform to new SFDX without needing to learn new tools.
Once you enable the Dev Hub feature in your Salesforce org, you can manage scratch orgs and packages from FlexDeploy and integrate with version control seamlessly. FlexDeploy allows you to deploy to test and prod orgs using release and pipelines automation, ensuring quality, approvals, and visibility.
Enable Dev Hub Features in Your Org
Enabling Dev Hub in a development, production, or business org is safe and doesn’t cause any performance or customer issues. To enable Dev Hub in an org:
- Log in as System Administrator to your Developer Edition, trial, or production org (for customers), or your business org (for ISVs).
- From Setup, enter Dev Hub in the Quick Find box and select Dev Hub.
- To enable Dev Hub, click Enable.
*NOTE: After you enable Dev Hub, you can’t disable it.
Manage Scratch Orgs
FlexDeploy’s Salesforce Org Management screen automatically brings up all the scratch orgs created if the Dev Hub org is selected. You can view and create your new scratch org by clicking on the + icon next to the “Select Scratch Org” drop-down.
After clicking the + to create new, you can enter the details for the new scratch org and click OK to create. Once the new scratch org is created, it will be available in the drop-down for comparing and pulling changes.
Pull Changes from your Scratch Org
From the Salesforce Org Management screen, you can select your desired scratch org from the drop down, and retrieve all your changes made. This will allow you to compare changes with version control or with any org, such as a test or prod, and view the differences. On this screen you can view the new, modified, or deleted changes, compare each file, and view the differences. Once you review the changes, you can simply click a button to commit to your version control if you have it enabled for your enterprise.
Create and Manage Packages
FlexDeploy’s Packages screen enables you to view your packages and create or edit the existing packages.
If you are an advanced developer using Visual Studio or any other tool for your development, FlexDeploy allows you to view / edit your packages. As a result, all the packages are in sync with your source. If you edit existing or create new packages, FlexDeploy will update or create a new package in your code and you can view the changes in your tool.
For Administrator or no-code / low-code Salesforce development, you can completely manage your packages on the FlexDeploy Packages screen so that you can create new packages and manage them with few clicks.
Regardless of the type of development, users can:
- Define unit test type for packages in FlexDeploy.
- Manage dependencies by selecting multiple packages with desired order to deploy to target orgs.
- Create package versions (Build) from FlexDeploy Package screen.
- View what versions of packages are installed in various test and prod orgs.
Package details screen show the details of the selected package.
Once you have changes pulled from scratch org and created packages in FlexDeploy, you can use CI/CD and release automation features. FlexDeploy helps automate the complete Salesforce release with a simple drag-and-drop for creating reusable pipelines so you can build and deploy Salesforce DX Apps with ease.
This process is similar to non-DX projects or any other technology in your enterprise. In addition to Salesforce, you can deploy changes to any technology like Mule Services, Web Applications, etc. The release pipelines can include automated and manual steps.
In conclusion, FlexDeploy allows you to transition from traditional Salesforce development to modern DX seamlessly. As a result, you can achieve high quality release of your changes with best practices and automated quality checks. If you are a DX developer, take advantage of all the advanced features to achieve high quality releases with speed.
Read Part 5: Unit Test and Test Automation for Your Salesforce