Skip to main content
CF

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

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

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

Related courses

Frequently asked questions

What are the prerequisites for enrolling in this course?
The course is designed for beginners and assumes no prior knowledge of DevOps tools. It starts from the basics, including fundamental Linux commands. Therefore, no specific prerequisites are required, although familiarity with basic computing concepts may be helpful.
What projects will I build during this course?
Students will engage in real-time hands-on projects, including deploying Docker containerized applications into AWS Linux servers. The course also covers creating Jenkins jobs for application deployment and using Ansible to automate deployment processes across multiple machines.
Who is the ideal audience for this course?
This course is ideal for beginners who are interested in learning about DevOps and automation tools. It caters to individuals who wish to understand how to create CI/CD solutions using AWS, Docker, Ansible, and Jenkins, and who want practical experience in building automation infrastructures.
How does this course compare in scope to other DevOps courses?
This course provides a foundational understanding of DevOps, focusing on CI/CD with AWS, Docker, Ansible, and Jenkins. While some courses might delve deeper into specific tools or advanced concepts, this course provides a balanced overview suitable for beginners, emphasizing practical application through hands-on projects.
What specific tools and platforms does the course use?
The course utilizes a variety of tools and platforms, including AWS for cloud server management, Docker for containerization, Jenkins for continuous integration, and Ansible for automating deployments. Basic Linux commands, Java, and Maven are also covered for environment setup and application deployment.
What topics are not covered in this course?
The course does not cover advanced DevOps topics such as Kubernetes orchestration, advanced cloud networking, or detailed security protocols. Its focus remains on foundational concepts and practical application using specific tools like Docker, Jenkins, and Ansible.
What is the expected time commitment for this course?
The course consists of 46 lessons. While the total runtime is not specified, students should expect to spend additional time on hands-on projects and exercises, potentially dedicating several weeks to complete the course, depending on their prior experience and pace of learning.