Here are some of the key tools and practices:-Source Code RepositoryA source code repository is a place where developers check-in and change code. It manages various versions of code that are checked in, so developers don’t write over each other’s work.Source control has probably been around for forty years and it’s a major component of continuous integration. Popular source code repository tools are Git, Subversion, Cloudforce, Bitbucket and TFS.Build ServerA build server is an automation tool that compiles the code in the source code repository into an executable code base. Popular tools are Jenkins, SonarQube and Artifactory.Configuration ManagementConfiguration management defines the configuration of a server or an environment. Popular configuration management tools are Puppet and Chef.Virtual InfrastructureAmazon Web Services and Microsoft Azure are examples of virtual infrastructures. Virtual infrastructures are provided by cloud vendors that sell infrastructure or platform as a service (PaaS). These infrastructures have APIs that allows you to programmatically create new machines with configuration management tools such as Puppet and Chef.Virtual infrastructures combined with automation tools to empower organizations practising DevOps with the ability to configure a server without any fingers on the keyboard. If you want to test your brand-new code, you can automatically send it to your cloud infrastructure, build the environment and then run all of the tests without human intervention.Test AutomationDevOps focuses on automated testing within your build pipeline to ensure that by the time that you have a deployable build, you are confident it is ready to be deployed. You can’t get to the point of continuous delivery where you’re fairly confident without any human intervention that your code is deployable without an extensive automated testing strategy. Popular tools are Selenium and Water.Pipeline OrchestrationA pipeline is like a manufacturing assembly line that happens from the time a developer says, “I think I’m done,” to the time that the code gets deployed in the production or a late-stage pre-production environment.