Docker Continuous Integration Delivery Automate Code Build Test Deploy

This hands-on course walks through the process of integrating a Dockerized app into a DevOps style automated workflow

Last updated 2022-01-10 | 3.9

- Build And Deploy Code Using A Automated Workflow
- Use Web Hooks In Github To Kick Automated Builds
- Utilize Circle CI And As A Continuous Integration Server

What you'll learn

Build And Deploy Code Using A Automated Workflow
Use Web Hooks In Github To Kick Automated Builds
Utilize Circle CI And As A Continuous Integration Server
Push And Pull Docker Images Into Docker Hub Automagically Using Webhooks and Triggers
Integrate Docker Cloud With Docker Hub And Amazon Web Services For Autonomous Builds From Github
Build A Kick Ass End To End Automated Workflow.

* Requirements

* A basic understanding of Docker is helpful but not required
* A basic understanding of continuous integration would be helpful but not required.

Description

Thank You for taking a look at this course Docker and Continuous Integration. In this course  we will go over hands-on walk-through that enable the process of integrating a Dockerized app into a DevOps style automated workflow that includes Continuous Integration (CI) and Continuous Delivery (CD) elements.  This course walks through the process of integrating a Dockerized app with DevOps style automated workflows. 

  We start off reviewing a pre-made node.js express web app no coding skill required this will run by itself. Then we develope a small test to validate the code is working. From there we uploaded or code to Github or Bit ucket and from configure Github to track all changes moving forward. 

   We then get a beginner level introduction to CircleCI  our Continuous integration platform  We create a connection between Github and Circle CI that Chircle is notified of any changes to the code are committed or pushed. CircleCI will perform test builds. Upon successful test builds, 

    From there we get a entry level introduction to DockerHub. We then set up a webhook from DockerHub so CircleCI will run and if the test pass will trigger a new Automated Build and in DockerHub.

    Docker hub acts our a image build for our Docker Container. It informs Docker Cloud our container platform. Docker Cloud will then pull the new Docker image and deploy it as a container on the Amazon Web Service platform. The entire end-to-end workflow will be described and implemented in extensive demos, as well as demonstrating bugs in the app code and pushing fixes to production.

By The End of this Course you will be able to 

1)Build and Deploy Code Using an Automated Workflow

2)Use Web Hooks in Github to Kick Automated Builds

3)Utilize Circle CI and as A Continuous Integration Server

4)Use Triggers and Webhooks in Circle CI to Automate Your Development Workflow

5)Push and Pull Docker Images into Docker Hub Automagically USING Webhooks AND Triggers

6)Integrate Docker Cloud with Docker Hub and Amazon Web Services for Autonomous Builds from Github.

7)Build A Kick Ass End to End Automated Workflow.

In this course we recommend that you have some basic knowledge of what docker and what continuous deployments are is but this is not required.

Who this course is for:

  • Anyone who wants to improve their development workflow
  • Developers
  • Developer Operations
  • Network Administrators
  • Development Managers
  • People who want to learn more about Docker
  • Network Administrators
  • System Administrators

Course content

7 sections • 25 lectures

Introduction Preview 03:36

Hi, in the course on Integrating Docker into DevOps Type Automated Workflows, we will go through how to we can optimize our, continuous integration, continuous delivery, workflow utilizing Docker. 

What You Should Know Prior To Taking This Course Preview 00:55

You don’t need to have any knowledge of Docker or of Continuous integration prior to this course but it would be very helpful if you did. We will walk you through step by step of each of the concepts outlined in the course.

Course Materials Preview 00:54

In This course we will go over the course material Locations

If you are having trouble with the attached download you can git the files off here.

https://github.com/bTreePress/Docker-With-Continuous-Integration

Introduction The To The App Preview 02:15

In this section we will go over our simple node app that uses the Express web framework, and this is what it looks like and it purpose of through the course

Getting Acquainted With Our Dockerfile Preview 01:32

In Docker the Dockerfile tells Docker how to build a Docker image out of our app, to Dockerize it. So we can see we're going in this app we need to run a CentOS container, we will install a bunch of stuff prior to the app launch then copy in our app, from their we do a NPM install, but from within our app's directory, and install our program and its dependencies. We can then expose port 8080 that our app's listening on, and then we run our app.

Testing Our App Preview 03:10

In order to make our workflow resemble the real world, we need to test, something that's going to tell us if any changes that we made to our app actually break it or not. And we'll see soon enough. If we do make changes that break our app, or at least break our test, then our automated workflow is going to grind to a halt. And here, let me bring this back. So let's say we've made changes to our code here, committed and pushed them to GitHub, and our CircleCI test build fails. Well, we stop right here. Here will go over how this will work and write the unit test for our app that we will make fail to validate the use case. 

Add The App To Source Control Preview 01:52

Well, now that we've got our app, let's get it out there on GitHub. So, we will create a New repository here, and then push it up. 

Summary Preview 00:41

Now that we've got our Node.js web app, built with Express and Jade plus our simple HTTP assertion test, which we built with Mocha and SuperTest, and it's all uploaded to GitHub ready to rock and roll. So that's pretty much this bit of our overall workflow in place. In this section we will review all of these topics.

Choosing A Continuous Integration Platform Preview 00:56

All right then, we've got our project uploaded to GitHub. Time to put it to the sword and see if it actually works. Now, the CI tool that we're going to use for this course is CircleCI, a hosted platform for automated testing and continuous integration. In this section we will review this tool and setting it up.

Performing The Test Builds Preview 01:38

In this section we are going to go to CircleCI, and sign up for free account. From there we will Authorize GitHub to use CircleCI.

Creating A Automated Docker Hub Build Repo Preview 03:27

In this section we will set up an Automated Test Build In Docker Hub, we will then link our GitHub account. And see how it can pull from Github.

How To Utilize Build Triggers From Circle Ci To Create A Successful Build Preview 03:12

Now we will head back over to CircleCI, and create new environment variable that will kick off a new docker hub build when all test pass. We then modify our circle.yml file to take advantage of this.

Summary Preview 00:54

In this section we are going to verify all the steps in our automated build and review what we did in this chapter.

Introduction Preview 02:47

All right then, we've got our app, we've nailed our test, and we've configured Docker Hub to automatically build a new image every time CircleCI gets a notification from GitHub and runs a successful test build. All that remains now is to push this baby to production

Configuring Docker Hub With AWS Preview 03:36

Now we utilize set up docker cloud, to be linked to our AWS account so that we can start to deploy docker cloud networks.

Creating A Docker Hub Node Cluster Preview 01:30

Now docker cloud, is linked to our AWS account so can start to deploy docker cloud networks and make a docker node cluster. 

Creating A Docker Hub Service Preview 03:15

So, we've got our node cluster, that's our AWS instance, or instances, or I guess it could be our DigitalOcean Droplet, or whatever, just depends on what you choose as your cloud provider. At the end of the day, these are your cloud-based VMs. Then remember, on top of this node cluster we overlay docker cloud services, and then it's on top of these services that we deploy containers, and that’s what we will do in this section 

Creating A Docker Hub Webhook Preview 04:57

Now that we have our service set up its time to make a Webhook in Docker cloud to be notified by Docker hub when it finished creating the new image

Summary Preview 01:19

In this section we will wrap it all back up from beginning to end what we have just done.

Introduction Preview 01:47

we've got our workflow all up in place, and we've seen it delivering the goods, but a vital part of the flow is the build test we've got configured in Circle, and if that test fails, then the broken build absolutely must not leak through to production. That what this chapter is all about and we will walk you through how we are going to verify that

Breaking The App Preview 01:52

In this section we are going to break the app and make sure it doesn’t get out to production

Fixing Our App and Seeing The End To End Workflow Preview 02:55

In this section we are going to fix the app and make sure it goes all the way out. 

Docker Networking Drivers Explained Preview 05:10

Review the different networking drivers

Docker Hosting Options Preview 06:31

A review of some of the Docker Hosting Options Available.

Continuous Integration with Docker Compose Preview 05:20

Whether you're developing a microservices-oriented software application, or looking for a better way to distribute a traditional, monolithic application, Docker Compose is a key tool in the developer's arsenal. Formerly known as Fig, Docker Inc. acquired the software, when its creators joined Docker in July 2014, barely a month after the release of the first supported version of Docker. Since then, Fig has evolved into Docker Compose, has been considerably enhanced, and is widely used by Docker adopters in their development practices.