📄️ Fundamentals of Deployment in Salesforce
Deployment is an essential stage in the Software Development Lifecycle (SDLC), ensuring the delivery of a finished product to users. This process includes code transfer and environment setup and can be performed manually or automatically. A well-structured deployment process helps avoid errors, minimize implementation time, and ensure system stability.
📄️ Automation of Deployment
Deployment automation plays a critical role in modern approaches to software development and deployment, including platforms like Salesforce. It helps eliminate issues such as errors, delays, and inconsistencies between environments, thereby improving the development lifecycle and boosting team efficiency. A lack of automation can lead to a deteriorating work environment, increased costs, and reduced team productivity.
📄️ Deployment Options for Metadata
The efficiency of delivering changes directly depends on the choice of code deployment methods to different environments. An incorrect choice can lead to excessive time and resource expenditures, slowing down the process, reducing efficiency, and increasing development costs.
📄️ Run Tests for Deployment
Effective testing is crucial to ensuring the quality of deployed changes. Choosing the right approach for test execution helps optimize time and resource costs while minimizing risks associated with potential errors. This article examines two main approaches to test execution during deployment: running all tests (RunLocalTests) and running specific tests (RunSpecifiedTests). Each approach has its advantages and disadvantages, and the choice depends on the project’s current goals and CI/CD strategy.
📄️ Destructive Change
Destructive Changes refer to the process of removing outdated metadata (such as fields, objects, classes, pages, and other components) that are no longer needed in the target environment. This is important for maintaining system cleanliness and improving performance, as it helps eliminate unused or outdated components.
📄️ Quick Deploy
Quick Deploy is a Salesforce feature that speeds up the deployment process if validation with necessary test (unit tests) execution has been successfully completed beforehand. Quick Deploy is useful in situations where deployment needs to be performed at a specific time, minimizing the cost of re-testing, as testing was completed during validation. This method enables preparation for deployment in advance by validating changes, allowing deployment within a specific time window (e.g., to minimize business disruption or synchronize deployment with other events).
📄️ Types of Packages in Salesforce
Unlocked Package — used for modular development, allowing developers to update, modify, and version packages for dependency management. Frequently utilized for internal development, it supports full CI/CD automation and enables a flexible approach to delivering solutions to users.
📄️ Unlocked Packages
Unlocked Packages are a type of package in Salesforce designed to enhance flexibility and modularity in application deployment. Unlike traditional deployment methods, unlocked packages* support versioning, modularity, and simplified dependency management. These packages are especially valuable for large projects and organizations with distributed environments where automation and version control are essential.
📄️ Test Coverage Matrix
The Test Coverage Matrix is a tool that tracks the relationship between test classes and the classes they cover, along with additional information such as coverage percentage, the date of the last test run, and comments. It is a vital tool for managing code quality, providing simplified access to test coverage data, and enabling change tracking.
🗃️ Metadata - Deployment Features
4 items