Amy Johnston · 17th May 2023
What is CI/CD? Understanding the fundamentals
With 83% of teams in a recent survey prioritizing CI/CD as the key to unlocking their DevOps investment, it's important to understand the basics of this key DevOps principle. From grasping the important terminology to knowing when your team is ready to adopt, ensuring you’re familiar with all the concepts of CI/CD can be overwhelming. We’re here to help you break down the fundamentals:
What's CI/CD?
The term CI/CD stands for Continuous Integration, Continuous Delivery and encompasses the practice of automating parts of your release cycle:
Continuous Integration is the practice of frequently merging development work back into the main branch of Git, your version control system (VCS). Merging early and often makes conflicts less likely.
Continuous Delivery is about delivering changes to end users more frequently, rather than waiting until the end of a long project. This can be achieved by automating the flow of work through your release pipeline.
We go into more detail on the differences between CI and CD in this blog post, and you can also check out our free course: CI/CD for Salesforce to understand the concepts around CI/CD in more depth.
Why adopt CI/CD?
Essentially, CI/CD aims to increase the quality and pace of delivery by encouraging regular releases of incremental improvements. This helps teams get new features into the hands of their users quickly, as well as other benefits, including:
Fewer bugs in production due to smaller, less risky releases
More reliable and frequently tested release processes
Safer options for rolling back mistakes
Tighter feedback loops within an agile, user-driven development cycle
Better ability to run multiple projects at the same time
How do you know if you're ready for CI/CD?
Whether you’re an admin, developer, team lead, release manager, architect, or in any other role, you can get involved in adopting CI/CD — it’s not just for developers. However, successfully building an automated release pipeline for Salesforce involves a few stages, and CI/CD isn’t the place that you should begin.
It’s important that your team is confidently running repeatable and reliable deployments. If you try to automate before this point, you’ll keep hitting barriers and your CI jobs will repeatedly fail, causing bigger deployment issues than you started with.
CI/CD also relies on version control, which is key to a mature DevOps process. It is possible to automate deployments between orgs and run automated tests in the process, but true CI/CD will also continuously integrate work into version control. Ultimately, if you have a robust deployment process that uses version control, and you’re wondering how to deliver changes even more frequently, with less effort and fewer bugs, you’re ready to get the CI/CD ball rolling.
Where can I learn more?
If you're looking for an in-depth guide to setting up a CI/CD pipeline, addressing all the key questions and best practices on release automation, download Gearset's free CI/CD for Salesforce ebook. It will help you lay the foundations for a successful development process and understand how CI/CD can help. And of course you can learn more about all things Salesforce DevOps on DevOps Launchpad.