Devops Fundamentals - CI/CD with AWS +Docker+Ansible+Jenkins
Lets get into Devops World from Scratch with real time Hands On Projects to build Solutions for CI/CD through Jenkins with deploying Docker Containerized apps into AWS Linux Servers from Git hub.
We will also learn Automation tool called Ansible which will generate Scripts to automate the process of Deployment using Docker Containers in various machines. This Course assumes that students do not have any prior knowledge on Devops tools and will start everything from Scratch including Linux Basic Commands.
Read more about the course
By end of this course, You will get Practical Project experience in understanding how all the Devops tools connected together to build robust Automation Infrastructure.
Below are the topics on high level we will go over in this course :
What are Hosting Servers and Application Servers?
Demo to understand what Deployment is?
How code developed is hosted on the servers and accessed through browser?
Demo on Jenkins Job creation for deployment of app in Server.
Drawbacks with current design and why to choose Linux OS
Create and Launch AWS Linux Instance to manage Jenkins
Connect to Linux Server through SSH
Install JAVA on Linux Server
Install Jenkins, Maven and GIT to have job for Deployment
Create new Linux server (App Server) in AWS for Deploying App
Create User in Server which can manage deploy
Connect Jenkins server to App Server through SSH Plugin
Create a Jenkin Job which deploys app into App Server
Install Docker in App Server
Create a Docker file which Install TomCat Server and Deploy App
Create Image from the file and deploy into Container
Access the App through public Ip:port which is running on Container
Install Ansible and its need for Deployment
Create Ansible Playbook to automate all docker related commands
Fix the problems of stopping and starting containers through Ansible yml file
Create SSH Key and hosts file for establishing connection through Ansible
Pass the Ansible Playbook commands into Jenkins Job for automatic Deployment in App server
Create another Linux App Server B through AWS
Create User in Server which can manage deploy
Establish connection to App Server B from App server A through Ssh keys
Ping the App Server B from Server A through Ansible command for connection check
Develop a yml playbook file which pushes the docker image to Docker Hub in Server A
Modify the Jenkins job to deploy the App into Server B through Ansible Commands
Adding Post build action run automated tests after new Code successfully Deployed
What is Pipeline and understand the basics of Jenkin Pipeline
Creating the JenkinsFile with the complete job configuration design to run end to end deployment process
Checkin the JenkiFile into Code repo and automate the complete CI/CD process through Jenkins!!
Watch Online Devops Fundamentals - CI/CD with AWS +Docker+Ansible+Jenkins
# | Title | Duration |
---|---|---|
1 | What is Devops and Course FAQ's - Must Watch | 10:40 |
2 | Getting Started with Deployment Basics | 13:08 |
3 | Deploying Hello World App in TomCat Server | 10:42 |
4 | Spin up Jenkins Instance in Windows for Deployment | 12:02 |
5 | What is Continuous Integration & Continuous Delivery | 06:40 |
6 | Create Amazon AWS Account to launch Linux Servers | 05:15 |
7 | Launch EC2 (Linux) Instance from AWS Console with necessary configurations | 07:14 |
8 | CAUTION on AWS Charges | 08:22 |
9 | What is SSH Client and how to connect to AWS Linux Servers | 12:05 |
10 | Understand the basic linux commands with Java Installation | 13:43 |
11 | Setting Java and Maven path in Bash Profile in Linux | 09:55 |
12 | How to configure Maven in Linux from Apache http server | 13:01 |
13 | Install Jenkins on Linux and start the Jenkin Server | 12:26 |
14 | Create new Jenkin Job for Deploying the Apps | 15:02 |
15 | How to Deploy the App into another Linux Server from Jenkins | 12:01 |
16 | Use Publish over SSH plugin in Jenkins to connect to new Server | 19:12 |
17 | What is Docker? How it helps in Automation Industry? | 09:18 |
18 | What are containers and Images in Docker Software? | 08:24 |
19 | How exactly Virtual machines are different from Docker | 08:57 |
20 | How to Install Docker into Machines with Prerequisites needed | 07:26 |
21 | Understand working with DockerHub | 16:46 |
22 | Install Docker on Linux and give Group Permissions | 13:26 |
23 | Create Container and Install Tomcat Server Image for Deployment | 09:54 |
24 | How to Login into Container and inspect folders and files | 15:33 |
25 | Understand Creatind Docker file to automate all the manual Deploy process | 15:18 |
26 | Start and Run the Docker Container and deploy the App in the Linux Server | 12:56 |
27 | What is SSH Connection and how to communicate with other Servers | 18:40 |
28 | Generate SSH keys and copy the keys to make a connection | 05:08 |
29 | What is Ansible and how it can address deploying into multiple Servers | 10:13 |
30 | Install Ansible and understand the importance of Playbook Yaml files | 15:04 |
31 | Create Ansible Playbook Script which can automate the Docker deployment | 14:27 |
32 | Executing Ansible Scripts on to another QA Server with SSH Connection | 12:38 |
33 | How to copy and transfer Deployment files to QA Server | 15:43 |
34 | Create Jenkins Job which can deploy App into QA Server using Ansible | 04:30 |
35 | How to Achieve COntinuous Integration with GitHub Hook in Jenkins | 12:11 |
36 | Parameterize Jenkin Build to deploy in multiple Environments | 10:44 |
37 | Introduction to GIT | 08:42 |
38 | Importance of Github and its uses | 09:07 |
39 | Creating Git config and repositories | 06:33 |
40 | How to push code to remote repository | 01:41 |
41 | Understanding Staging and commit in git | 11:36 |
42 | Add remote repository and push the committed code | 08:55 |
43 | End to end working example on Git commands -1 | 15:49 |
44 | End to end working example on Git commands -2 | 06:16 |
45 | Importance of Branching in GIT | 24:56 |
46 | How to resolve Merge conflicts with GIT | 14:18 |