Skip to main content

Devops Fundamentals - CI/CD with AWS +Docker+Ansible+Jenkins

8h 46m 37s
English
Paid

Embark on a comprehensive journey into the world of DevOps from scratch, using real-time hands-on projects to create CI/CD solutions. Learn how to deploy Docker containerized applications into AWS Linux servers using GitHub repositories.
Explore the automation tool Ansible to automate deployment processes across various machines using Docker containers.This course is designed for beginners, assuming no prior knowledge of DevOps tools, and starts from the fundamentals, including basic Linux commands.

By the end of this course, you will gain practical project experience in understanding how various DevOps tools are interconnected to build a robust automation infrastructure.

Course Overview

Below is a high-level overview of the topics we will cover in this course:

Introduction to Servers and Deployment

  • Understanding Hosting Servers and Application Servers
  • Demonstration of the Deployment process
  • Exploring how code is hosted on servers and accessed via browsers
  • Creation of Jenkins Jobs for application deployment on servers

Setting Up AWS and Linux for CI/CD

  • Current design drawbacks and the advantages of using Linux OS
  • Creating and launching an AWS Linux instance to manage Jenkins
  • Connecting to a Linux server through SSH
  • Installing JAVA, Jenkins, Maven, and GIT for deployment jobs

Application Deployment with Jenkins and Docker

  • Creating a new Linux server (App Server) in AWS for application deployment
  • User creation in the server for deployment management
  • Connecting Jenkins Server to App Server via SSH Plugin
  • Creating a Jenkins Job to deploy the app into the App Server

Containerization and Automation with Docker and Ansible

  • Docker installation on App Server
  • Creating a Docker file for Tomcat Server installation and app deployment
  • Generating an image and deploying it into a container
  • Accessing the application through public IP and port on the container
  • Ansible installation and its role in deployment
  • Creating an Ansible Playbook to automate Docker-related commands
  • Resolving issues with starting and stopping containers using Ansible yml files
  • Establishing connection through SSH Key and hosts file using Ansible
  • Executing Ansible Playbook commands in Jenkins Job for automatic deployment on the App server

Advanced Deployment Techniques and Jenkins Pipeline

  • Setting up another Linux App Server B via AWS
  • User creation and connection establishment between servers through SSH keys
  • Pinging App Server B from App Server A using Ansible commands for connection verification
  • Developing a yml playbook file to push Docker images to Docker Hub from Server A
  • Modifying Jenkins jobs to deploy applications on Server B using Ansible Commands
  • Implementing post-build actions to run automated tests after code deployment
  • Understanding pipelines and the basics of Jenkins Pipeline
  • Creating a JenkinsFile for entire job configuration and end-to-end deployment
  • Checking the JenkinsFile into the code repository to automate the CI/CD process through Jenkins

About the Author: udemy

udemy thumbnail
By connecting students all over the world to the best instructors, Udemy is helping individuals reach their goals and pursue their dreams. Udemy is the leading global marketplace for teaching and learning, connecting millions of students to the skills they need to succeed. Udemy helps organizations of all kinds prepare for the ever-evolving future of work. Our curated collection of top-rated business and technical courses gives companies, governments, and nonprofits the power to develop in-house expertise and satisfy employees’ hunger for learning and development.

Watch Online 46 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 46 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: What is Devops and Course FAQ's - Must Watch
All Course Lessons (46)
#Lesson TitleDurationAccess
1
What is Devops and Course FAQ's - Must Watch Demo
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
Unlock unlimited learning

Get instant access to all 45 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription