Salesforce DevOps (a.k.a. Voodoo Magic)
Salesforce products are extremely powerful. Customers’ needs sometimes expand beyond what is offered by Salesforce out of the box. After all, every Salesforce customer is unique. Salesforce Partners around the world assist with custom integrations and functionality of existing Salesforce platforms. A whole new set of challenges arise from these development projects. How do you ensure that all developers are working on the current codebase version? How do you deploy changes without incurring downtime for the client? How do you make sure your code is ready for deployment? We’re glad you asked. Salesforce DevOps is the answer to all these questions.
The term ‘DevOps’ has been around for a while and has become a buzzword in recent times. DevOps is defined as “ …the combination of cultural philosophies, practices, and tools that increases an organisation’s ability to deliver applications and services at high velocity…”.
The DevOps model fills the gap between, normally siloed, operations and development teams. A DevOps team now automates some post-development and deployment tasks that were traditionally labour intensive and slow. Code deployment, testing, QA and even infrastructure provisioning are now all automated, allowing developers to deploy more reliable products faster.
Let’s pop the hood and see how DevOps teams achieve what some might call voodoo magic. The first challenge is codebase version control. How do you ensure all developers are using the correct version and are not overwriting each other’s code? A third-party service, GitHub, gives organisations an overview of what changes have been made to the codebase, by whom and why. GitHub solves another problem, deployment. Using GitHub Actions, developers can easily integrate a CI/CD pipeline into their workflow.
Continuous Integration (CI) helps development teams integrate code into a greater ecosystem. During this process, quality assurance and testing.