Docker to Amazon AWS Deploy Java and .NET Apps with Travis CI
Created by Leandro Da Costa Gonçalves, Last Updated 06-Sep-2020, Language:English
Docker to Amazon AWS Deploy Java and .NET Apps with Travis CI
Build a CI and CD pipeline with Docker, Travis CI and Amazon AWS for Java and .NET applications
Created by Leandro Da Costa Gonçalves, Last Updated 06-Sep-2020, Language:English
What Will I Get ?
- Review basic Docker concepts
- Integrate Docker with a Java Application
- Integrate Docker with a .NET Core Application
- Deploy an Application to AWS
- Fundamental concepts of Amazon AWS ranging from creating an account
- Create custom builds in Travis CI
- CI/CD With Github, Travis CI, Amazon ECR and Amazon ECS
Requirements
- Minimal knowledge of Docker accelerates learning
- Minimal knowledge of Linux accelerates learning
- A machine capable of running Docker
Description
**** Understand everything you need to know to get started on the right foot with Continuous Integration (CI), Docker and Amazon AWS! *****
Do you need to know and make the most of all the power that Docker and Amazon AWS can give?
Do you want to take advantage of the power, lightness, and portability of containers and learn how to deploy them in production?
Do you need to put all the concepts of continuous integration into practice?
Regardless of your experience with Docker's use on Amazon Web Services (AWS), this course puts you in direct contact with all your main concepts. We learn how to get the most out of containers Docker, Dockerfiles, Docker Registries (Docker Hub and Elastic Container Registry (ECR) from AWS), and container management by the Elastic Container Service (ECS).
Initially, we will do a brief review of what Docker is and what Docker Compose is and how to install them on your machine, be it Linux or Windows. Then we will integrate Docker into a Java application with Spring Boot, exploring Docker on AWS at a high level. We will learn how each of the main "pieces" works separately, bringing together all the essential parts of a Docker infrastructure in a Linux instance based on the Amazon Elastic Compute Cloud (EC2), including installation, Dockerfiles, Docker Images and Docker Hub. Next, we'll learn how to create clustered environments with Amazon ECS.
At this point, we will understand how all moving parts can be brought together in a real, publicly accessible deployment. Throughout the course, we will gradually add support for Continuous Integration. We will start by automating simple tasks that will gradually evolve into a Continuous Integration pipeline involving Github, Travis CI, and an ECS Cluster on Amazon AWS. It will be incredible you commit the code, push to Github, Travis CI builds the Docker Images, and deploy it on Amazon "Automagically."
In addition to the Spring Boot application in the last sections of the course, we will Dockerize an ASP.NET Core application making it able to perform this type of task in more than one technology/language. By the end of this course, you will have learned fundamental knowledge about Continuous Integration and how to use Docker on AWS.
So don't waste any more time going to classes!
Course Content
-
Course Presentation
1 Lectures 00:02:47-
0101 Course Presentation
Preview00:02:47
-
-
Quick Docker Review
6 Lectures 00:23:01-
0201 Section Presentation - Docker Quick Review
Preview00:01:45 -
0202 What is Docker
00:04:58 -
0203 Basics of Dockerfile
Preview00:03:35 -
0204 What is Docker Compose
00:05:07 -
0205 Basics of docker-compose.yml
00:06:20 -
0206 Section Review - Docker Quick Review
00:01:16
-
-
Setting Up the Docker Environment
6 Lectures 00:18:58-
0301 Section Presentation - Setting Up the Docker Environment
00:00:47 -
0302 Installing Docker on Windows 10 Pro
00:04:00 -
0303 Installing Docker - For Those Who Needed to Use the Docker Toolbox
00:04:03 -
0304 Installing Docker on Linux
00:07:10 -
0305 Installing Docker Compose on Linux
00:01:59 -
0306 Section Review - Setting Up the Docker Environment
00:00:59
-
-
"Dockerizing" a Java Application with Spring Boot
10 Lectures 00:51:42-
0401 Section Presentation - Dockerizing a Java Application
00:01:13 -
0402 The Java Application we Will "Dockerize"
00:02:54 -
0403 Adding Docker Support - Dockerfile
00:07:40 -
0404 Adding Docker Support - Docker Compose
00:08:40 -
0405 Starting the Application and Fixing Problems
00:07:57 -
0406 Starting the Application and Testing on Postman
00:01:33 -
0407 What is the Docker Hub and How to Create an Account
00:03:10 -
0408 Pushing Docker Images to DockerHub
00:03:38 -
0409 Continuous Integration with Travis CI
00:13:07 -
0410 Section Review - Dockerizing a Java Application
00:01:50
-
-
Deploying our Application to an Amazon EC2 Instance
13 Lectures 00:47:13-
0501 Section Presentation - Deploying our Application to an Amazon EC2 Instance
00:01:12 -
0502 The Amazon AWS Free Tier
00:05:25 -
0503 Creating an Amazon AWS Account
00:03:44 -
0504 Creating an IAM User to Manage our ECR(Amazon Elastic Container Registry)
00:02:37 -
0505 Installing Amazon AWS CLI
00:03:24 -
0506 Creating an EC2 Instance
Preview00:04:33 -
0507 Accessing an EC2 Instance via SSH
00:04:17 -
0508 Installing Docker on our EC2 Instance
00:03:38 -
0509 Creating the MySQL RDS Database
00:06:19 -
0510 Integrating the Application to the RDS Database on Amazon
00:02:47 -
0511 Running our Aplication Inside of Docker
Preview00:02:59 -
0512 Running one Dockerized Application on Amazon EC2
00:05:06 -
0513 Section Review - Deploying our Application to an Amazon EC2 Instance
00:01:12
-
-
Deploying our Application to an Amazon Elastic Container Service (ECS) Cluster
9 Lectures 00:26:16-
0601 Section Presentation - Deploying our Application to an Amazon ECS Cluster
00:00:40 -
0602 Creating an ECR(Amazon Elastic Container Registry) for our Docker Images
00:01:54 -
0603 Pushing Docker Images to Amazon ECR
Preview00:03:11 -
0604 Why use Clusters?
00:03:48 -
0605 Understanding the Amazon ECS(Elastic Container Service) Architecture
00:06:25 -
0606 Creation of an ECS Cluster
00:04:04 -
0607 Creating a Task Definition
00:01:55 -
0608 Creating the Service
00:03:03 -
0609 Section Review - Deploying our Application to an Amazon ECS Cluster
00:01:16
-
-
"Dockerizing" a .NET Core Application with ASP.NET Core
12 Lectures 01:01:24-
0701 Section Presentation - "Dockerizing" a .Net Application with ASP.NET Core
00:01:18 -
0702 The .NET Application we Will Dockerize
00:05:30 -
0703 Adding Container Orchestration Support to our Application
00:04:05 -
0704 Adjusting docker-compose.yml
00:04:17 -
0705 Creating one MySQL Custom Docker Image
00:07:57 -
0706 Running and Testing the Application
Preview00:08:46 -
0707 Creating the MySQL RDS Database
00:02:19 -
0708 Adjusting the Connection of our Application to the Database
00:03:16 -
0709 Creating the ECR Repository and Pushing Docker Images to DockerHub and AWS ECR
00:04:26 -
0710 Integrating Travis CI with DockerHub
Preview00:06:47 -
0711 Integrating Travis CI with Amazon ECR(Amazon Elastic Container Registry)
00:11:28 -
0712 Section Review - "Dockerizing" a .Net Application with ASP.NET Core
00:01:15
-
-
Implementing Continuous Integration and Continuous Deploy on Amazon ECS
8 Lectures 00:34:04-
0801 Section Presentation - Implementing Continuous Integration and Continuous Deploy on Amazon ECS
00:01:02 -
0802 Creation of the ECS(Elastic Container Service) Cluster for .NET
00:03:17 -
0803 Creating a Task Definition
00:02:19 -
0804 Creating the Service, Deploying and Testing our Application
00:05:38 -
0805 Setting User Permissions IAM TRAVIS_CI
00:01:28 -
0806 Adding Support for Continuous Integration with ECS Deploy
00:07:51 -
0807 Adapting our Service to Support Continuous Integration and Continuous Deploy
00:11:43 -
0808 Section Review - Implementing Continuous Integration and Continuous Deploy on Amazon ECS
00:00:46
-
-
Conclusion
1 Lectures 00:03:30-
0901 Conclusion
00:03:30
-