Continuous Integration and Continuous Deployment
Welcome to the Continuous Integration and Continuous Deployment;online course. This self-paced course provides an in-depth discussion of and practical hands-on training for the DevOps practices of Continuous Integration and Continuous Deployment. This course contains videos, text, demos, and hands-on labs so that you can take your current knowledge of build, test, and release to the next level by understanding how they function within a DevOps development environment. DevOps is both a cultural and procedural shift---it requires rethinking the way your business environment is set up by bringing together ops and development for more rapid and efficient software delivery. This training is part of the DevOps Microsoft Learning path and focuses specifically on continuous integration builds, automated testing, and continuous delivery/deployment. Visual Studio Team Services is the integrated development environment (IDE), with an emphasis on how VSTS integrates with third party and OSS tools, such as Git and Jenkins, which are widely used across development teams practicing DevOps.
The audience profile is Developers and IT Professionals: IT Professionals who are interested in crossing over into development territory towards the goal of establishing a DevOps culture, and Developers who want to learn more about the development processes of DevOps in order to extend upon Agile processes for rapid delivery. It is assumed that the students taking this course have knowledge of Visual Studio Team Services and Azure IaaS; however, students who may not have a technical background in these technologies, but who are curious about DevOps practices as a culture shift should be able to follow the procedural and expository explanations of continuous integration and continuous delivery.
After completing this course, students will have a working understanding of:
- Continuous Integration Strategies, including source control, branching, and code review, pipelines and agents, and technical debt.
- Package Management, including SemVer, GitVersion, NuGet pipelines, Chocolatey, and deployable artifacts in pipelines.
- Continuous Delivery, including automated deployments with Release Manager, configuration transformation, Selenium, coded UI for testing, Test Manager, and performance and availability testing; advanced delivery, including, automated provisioning, DSC, infrastructure as code, database deployment and DACPAC and SQL script deployment.agement.
- Continuous Deployment, including an overview of release management and continuous deployment, the release pipeline and release management workflow, continuous delivery vs. continuous deployment, principles and practices of continuous delivery, and deployment groups, feature flags, and recovery automation; advanced continuous deployment, including continuous deployment with Jenkins, containers, application monitoring and feedback, and DevSecOps and security in the pipeline.
Each module contains ungraded review questions, and there is a graded final exam at the end of the course.
- Unit Testing
- Creating a Continuous Integration Build
- Continuous Integration with Jenkins
- Continuous Deployment with a Hosted Agent
- Continuous Deployment with a Remote Agent
- Continuous Deployment with Jenkins
- Advanced Lab: Dockerizing Parts Unlimited
Each lab includes the following:
- Detailed procedures for individual lab tasks
- How-to videos for viewing each and every task should you get stuck and need to see how it's done
Try the labs on your own, at your own pace, but we recommend you also view the individual demo videos for those times when you might need a little bit of help.
Tarun Arora is a Microsoft MVP, author, and trainer on DevOps. He is obsessed with high-quality, working software, continuous delivery, and Agile practices. Tarun heads DevOps for Avanade, UK, a Microsoft Gold Partner. You can find more DevOps-focused content on his blog www.visualstudiogeeks.com. For latest and greatest in DevOps, follow Tarun on Twitter @arora_tarun.