Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
LEARNING PATH: Master Continuous Delivery Pipeline with Ease
Rating: 4.2 out of 5(32 ratings)
273 students

LEARNING PATH: Master Continuous Delivery Pipeline with Ease

Create a complete continuous delivery pipeline using Docker, Jenkins, and Ansible
Last updated 1/2018
English

What you'll learn

  • Understand the concept of containerization
  • Get to know the various Docker fundamentals
  • Configure Jenkins and scale it using Docker-based agents
  • Combine Ansible with Docker and Docker Compose
  • Learn the various concepts of server clustering
  • Implementation of server clustering using Docker Swarm
  • Learn different aspects related to the Continuous Delivery process
  • Build a complete Continuous Delivery process

Course content

2 sections51 lectures4h 13m total length
  • The Course Overview3:05
    This video gives overview of the entire course.
  • What Is Continuous Delivery?4:30

    This video, deals with basics of continuous delivery process

  • The Automated Deployment Pipeline6:10

    In this video, we describe how to implement Continuous Delivery process.

  • Prerequisites to Continuous Delivery4:11

    In this video, we take a holistic look at the whole process and define the Continuous Delivery requirements in three areas.

  • Building the Continuous Delivery process2:10

    In this video, we describe the tools that will be used throughout the book and their place in the complete system.

  • What is Docker?4:22
    Docker is an open source project designed to help with application deployment using software containers.
  • Docker Installation4:40

    In this video, we will look how to install Docker.

  • Running Docker Hello World3:16

    We will run a simple first example.

  • Docker Applications2:06

    In this video, we will find the desired application image on the Docker Hub.

  • Building Images8:18

    This section, we will see how to build Docker images using two different methods.

  • Docker Container States2:14
    In this video, we will run a container in the background
  • Docker Networking6:45

    If we want to run a website, web service, database, or a cache server inside a Docker container, then we need to understand at least the basics of Docker networking.

  • Using Docker Volumes2:07
    Docker volume is the Docker host's directory mounted inside the container. It allows the container to write to the host's filesystem as it was writing to its own
  • Using Names in Docker2:42

    So far, when we operated on the containers, we always used autogenerated names. This approach has some advantages, such as the names being unique) and automatic. In many cases, however, it's better to give a real userfriendly name for the container or the image.

  • Docker Cleanup3:19

    Even when the containers are not running at the moment, they need to be stored on the Docker host. This can quickly result in exceeding the storage space and stopping the machine.

  • Jenkins and Installation6:47

    Jenkins is an open source automation server written in Java. With the very active community-based support and a huge number of plugins, it is the most popular tool to implement the Continuous Integration and Continuous Delivery processes.

  • Jenkins Hello World1:31

    This video deals with simple hello world example.

  • Jenkins Architecture4:38

    The pipelines are usually more complex and spend time on tasks such as downloading files from the internet, compiling the source code, or running tests

  • Configuring Agents7:40
    We've seen what the agents are and when they can be used. However, we will see how to set up an agent and let it communicate with the master.
  • Custom Jenkins Images4:08

    We may want to build our own images to satisfy the specific build environment requirements. In this section, we cover how to do it.

  • Configuration and Management5:20

    Since Jenkins is highly configurable, you can expect much more possibilities to adjust it to your needs.

  • Introducing pipelines7:56

    A pipeline is a sequence of automated operations that usually represents a part of software delivery and the quality assurance process.

  • Commit Pipeline10:33

    The most basic Continuous Integration process is called a commit pipeline. This classic phase, as its name says, starts with a commit (or push in Git) to the main repository and results in a report about the build success or failure.

  • Code Quality Stages6:46

    We will extend the classic three steps of Continuous Integration with additional steps. The most widely used are code coverage and static analysis. Let's look at each of them.

  • Triggers And Notifications6:58
    In this section, we will see how to improve the process so that the pipeline would start automatically and, when completed, notify the team members about its status.
  • Team development strategies6:21
    The way you use the Continuous Integration process depends on your team development workflow. So, before we go any further, let's describe what the possible workflows is.
  • Dockery Registry10:13

    Docker registry is a storage for Docker images. To be precise, it is a stateless server application that allows the images to be published (pushed) and later retrieved (pulled) when needed.

  • Acceptance Test in Pipeline5:13
    We already understood the idea behind acceptance testing and know how to configure Docker registry, so we are ready for its first implementation inside the Jenkins pipeline.
  • Docker Compose6:30
    Docker Compose orchestrates containers using standard Docker mechanisms and provides a convenient way to specify the entire environment.
  • Acceptance Testing with Docker Compose4:34
    In this video, we will see how to apply Docker Compose for the Jenkins acceptance testing stage, let's continue the calculator project example.
  • Writing Acceptance Tests8:27

    This video deals with the solutions to the issue of curl command and create tests with a good structure, readable by users, and meet its fundamental goal.

  • Test your Knowledge

Requirements

  • Basic knowledge of continuous delivery is required.

Description

Continuous Delivery is used so as to have a constant flow of changes into production through an automated software production line. The combination of Docker and Jenkins improves your Continuous Delivery pipeline using a few resources. It also helps you scale up your builds, automate tasks, and speed up Jenkin’s performance with the benefits of Docker containerization. So if you are a developer or DevOps engineer and want to master the techniques of Continuous Delivery Pipeline, then go for this Learning Path.

Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.  The highlights of this Learning Path are:

  • Learn how to dockerize an application for the continuous delivery process
  • Understand the principles and technical aspects of a successful continuous delivery pipeline
  • Combine Ansible with Docker and Docker Compose
  • Implement server clustering using Docker Swarm

Let’s take a quick look at your learning journey. You will start off with an introduction of continuous delivery. You will then set up a Docker server and configuring Jenkins on it. You will work through the steps to build applications on Docker files and integrate them with Jenkins using continuous delivery processes such as continuous integration and automated acceptance testing. Next, you will be introduced to continuous delivery pipelines in depth and improve the continuous integration and delivery process of app development. Finally, you will build a complete continuous delivery pipeline.

On the completion of this Learning Path, you will be able to implement a mixture of different aspects related to the continuous delivery process in your application.

Meet Your Expert:

We have the best works of the following esteemed author to ensure that your learning journey is smooth:

  • Rafal Leszko is a passionate software developer, trainer, and conference speaker living in Krakow, Poland. He has spent his career writing code, designing architecture, and tech leading in a number of companies and organizations such as Google, CERN, and AGH University. Always open to new challenges, he has given talks and conducted workshops at more than a few international conferences such as Devoxx and Voxxed Days.

Who this course is for:

  • This Learning Path is targeted at developers and DevOps engineer who want to master the techniques of Continuous Delivery Pipeline.