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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
In this section we are going to verify all the steps in our automated build and review what we did in this chapter.
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
Now we utilize set up docker cloud, to be linked to our AWS account so that we can start to deploy docker cloud networks.
Now docker cloud, is linked to our AWS account so can start to deploy docker cloud networks and make a docker node cluster.
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
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
In this section we will wrap it all back up from beginning to end what we have just done.
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
In this section we are going to break the app and make sure it doesn’t get out to production
In this section we are going to fix the app and make sure it goes all the way out.
Please provide course feedback so I can make this course better for you! Did you know uDemy removes FREE courses with less than a 4 star review.
Thanks for looking at my courses. I am excited to bring you some awesome lessons I have learned along the way. I also love to talk about my favorite products that really help me stay ahead of the curve. I am an Architect, Developer, Product/Project Manger, and humble hustler focusing on building next generation application.
I am currently working as a Sr. Technical Cross Platform Program Manager at a Fortune 500 company building technology-driven marketing solutions with global reach and Netflix scale. I lead teams of developers to new heights by giving top of the line guidance on product deliverables, organizational techniques, and in general kicking butt. I hope you find my courses enjoyable and please contact me if you have any questions or would like any additional content covered that is not in one of the courses.
I am a PMP expert and PRINCE2 consultant.