What is CI/CD?
CI (Continuous Integration) and CD (Continuous Deployment) both together work to generate build packages of committed changes and deploy it to any environment(test, live, development) having the dedicated server or the cloud server. By defining CI and CD practices, and understanding the areas and benefits of both, teams can create, prioritize, and complete the tasks in a more efficient manner. It saves your time to deliver changes without worry about backup your application current state of the code and apply configurations and deploy it. It runs automated process so each team member gets notified the latest changes applied on the server by running necessary steps. You can track all your changes and roll back the particular build version from any branch in source control easily.
CI (Continuous Integration)
CI means Continuous Integration in terms of generating the build (with running functional tests) automatically. Whenever new code is committed or checked into the source control (Git, VSTS, TFS, etc..), CI captures those changes and starts to generate build with run test cases.
CI is also used for other operations like code analyzer (Sonar Qube, Resharper, etc..) to enhance code quality so bad code could not be committed and also reduce the risk of bad commit by merging all code temporarily and generate build and also roll back if it fails to generate build.
CI is also useful for run automated testing and finalizes your build to reduce your bugs in deployment. There are lots of features you can add in CI process like when the build has been generated, all the stakeholders received notification for any bug or successful build. There are lots of third party tool integration available for notification.
Please refer below link to know more about CI in VSTS:
CD (Continuous Deployment)
CD means Continuous Deployment in terms of automated deployment of successful build packages which is generated by CI process. CD process deploys your latest build from CI on the server or cloud. In CD process you can also add your database changes which will run on database server also run the script on the database server to take backup or can do other processes. You can setup your website in IIS or Linux machine and also run the shell script on the server to install or configure your environment. Docker is also one of the important tools to setup your environment in the server before deployment by running docker setup.
Please refer below link for the CD process using VSTS: