From the course: DevOps Foundations: Continuous Delivery/Continuous Integration
Introducing the delivery pipeline
From the course: DevOps Foundations: Continuous Delivery/Continuous Integration
Introducing the delivery pipeline
- All right, now that we've covered the basics, let's see how this might work in the real world. - Over the rest of this chapter, we're going to build out a sample continuous delivery pipeline for a web application. This pipeline will walk you through the core components you'll likely need to implement. - Wait, wait, wait. Before we get started, we should really add a quick note of caution here. No one's pipeline looks the same. - That's right. This is just a sample pipeline. We built it with open source technology to help deliver a sample web application written in Go. - Yeah, now you may be using Java, Ruby or Node.js for your application. - You may be using a mix of open source and commercial software. - Yeah, you may be not delivering web software at all. You might be delivering software in the form of a device driver or mobile games. - But you can benefit from CI and CD no matter what you're building or what the unique details of your environment are. - But each product and team, they're going to have to have their own unique challenges for in requirements. - We plan to arm you with the core principles to determine what you need to do to build a pipeline from scratch, or to modify your existing pipeline to increase flow through your build system. - Now, for this course, we're starting off covering version control and core practices for development teams when working in a continuous delivery environment. For our pipeline, we're going to be using the popular version control system, Git, delivered through GitHub. - [Instructor] Then we move into build systems and cover practices that are important for CI. We'll put it all into practice using the open source build system, Jenkins. - [Instructor] Next, we'll move right into handling artifacts, using Nexus for an artifact repository. - [Instructor] We'll hit testing in four main areas, unit, integration, UI and security testing. We try to stay away from specific Go testing details and concentrate on how to test your application, from the inside, from the outside and as a malicious user. - [Instructor] Now, once we're sure our application is tested and ready to go, we'll deploy it via Chef. - [Instructor] Of course, the path through a build system isn't always linear. Each stage has a feedback loop that lets you incrementally improve each change before it gets released. Along the way, we introduce each area with its goal, along with principles and practices we found to be important and work best in that phase. - Yeah, and at the end of this course, you should gain a working knowledge of a pipeline and how you can use this as a roadmap for implementing your own continuous delivery pipeline. - At the end of the course, we'll cover some tips and real-world advice for doing continuous delivery in large enterprises and less than perfect organizations. - Yeah, and that's the really fun part. That's where the rubber meets the road. - For sure. So next up, we'll talk about version control.
Practice while you learn with exercise files
Download the files the instructor uses to teach the course. Follow along and learn by watching, listening and practicing.
Contents
-
-
-
-
Introducing the delivery pipeline2m 40s
-
(Locked)
Version control practices5m 18s
-
(Locked)
Version control in action with Git7m 19s
-
(Locked)
Continuous integration systems4m
-
(Locked)
Continuous integration in action10m 9s
-
(Locked)
Building artifacts5m 17s
-
(Locked)
Artifact repositories in action9m 37s
-
(Locked)
Testing and continuous delivery4m 23s
-
(Locked)
Testing philosophy2m 40s
-
(Locked)
Unit testing in action4m 29s
-
(Locked)
Application deploy and release6m 54s
-
(Locked)
Deployment in action8m 53s
-
(Locked)
Integration testing in action3m 22s
-
(Locked)
UI testing in action6m 34s
-
(Locked)
Security testing in action with Gauntlt5m 53s
-
-
-