DevOps CICD with Git GitLab Jenkins Docker and Django
What you’ll learn
You will learn how to set up a CICD Pipeline for Python/Django Applications
You will learn how to set up Django applications to accommodate multiple developers
You will learn how to deploy Django Applications to AWS Cloud
You will learn how to use Git and GitLab for Source Control
You will learn how to use Jenkins for Continuous Integration
You will learn how to dockerize Django applications as a DevOps Engineer
You will learn to set up Virtual Machines in your personal computer
Requirements
A 64bit computer with at least 8GB of RAM
Internet Connection
Ability to move files and folders around in your personal computer is required
Must be interested in the topic
Basic knowledge Git is recommended but not required
Familiarity with Linux command lines is useful but not required
Familiarity with Django framework is recommended
Description
Continuous Integration Continuous Delivery/Deployment (CICD) is a very important part of modern-day software release processes. As a matter of fact, you can not survive as a DevOps Engineer without a good understanding of CICD.In this course, you are going to learn how to set up a fully functional CICD pipeline for Python / Django applications. You will learn how to manually deploy Django applications to production and later automate the process with CICD using Git, GitLab and Jenkins as the pipeline tools. You will learn how to set up Django applications to accommodate multiple developers working on them.You will learn how to Dockerize Django’s applications developmentThe concepts can be applied to any programing language or framework.You are going to set up a local DevOps lab environment consisting of multiple Virtual Machines similar to what you get from cloud service providers. This will enable you to practice without having to spend a penny on cloud services.We will later deploy the Django application to an AWS EC2 Instance in the cloud. Everything we’ll do will be hands-on and straight to the points.If you are seeking a job as a Developer or a DevOps Engineer without any professional experience yet, this course is a must for you because by the end of it, you will have moved from non-experienced to experienced.
Overview
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Course recreation notice
Lecture 3 Prerequisites
Lecture 4 Project Demo
Section 2: DevOps Lab Environment Setup
Lecture 5 Section Introduction
Lecture 6 Installing Oracle VirtualBox
Lecture 7 Create Virtual Ubuntu Server
Lecture 8 Create Virtual Ubuntu Desktop
Lecture 9 SSHing into the Virtual machines
Lecture 10 SSH Without Password
Lecture 11 Run Sudo Commands Without Password
Section 3: Basics: Git and GitLab
Lecture 12 Section Introduction
Lecture 13 Installing GitLab
Lecture 14 Local DNS Setup for gitlab.test
Lecture 15 Create GitLab Admin User
Lecture 16 Installing Git
Lecture 17 Git Global Setup
Lecture 18 Creating A GitLab Project
Lecture 19 Adding SSH Keys to Your GitLab Account
Lecture 20 Git Clone, Status, Add, Commit and Push
Lecture 21 Git Branching
Lecture 22 Branches Merging
Lecture 23 Update Your Local Repository and Delete the new branch locally
Lecture 24 Branches Merging Locally
Section 4: Django App and Environment Setup
Lecture 25 Django Dev Environment Setup
Lecture 26 Creating A Django App
Lecture 27 Set up the Project Code on your Computer
Lecture 28 Polling App Demo
Lecture 29 Set Up Environment Configuration File
Lecture 30 Pushing The App Code To Remote Code Repository
Section 5: Manual Deployment
Lecture 31 Requirements.txt file
Lecture 32 Set up a Dedicated Deploy User on Production Server
Lecture 33 Add Deploy User SSH Key to GitLab Account
Lecture 34 PostgreSQL Setup
Lecture 35 Set Up a Virtual Environment on the Production Server
Lecture 36 Local DNS on Production Server
Lecture 37 Deploying Our Application Code to Production Server
Lecture 38 Configure the Application Settings file on the Production Server
Lecture 39 Adding Contents from the Admin Area
Lecture 40 Set Up Gunicorn Services
Lecture 41 Nginx Setup
Lecture 42 Manual Redeployments
Section 6: CICD Setup
Lecture 43 Installing Jenkins
Lecture 44 Install Necessary Jenkins Plugins
Lecture 45 Create a Dedicated Jenkins-GitLab User
Lecture 46 Configure GitLab-Jenkins Connection
Lecture 47 Grant GitLab-Jenkins Dedicated User Access to Your Project
Lecture 48 Jenkinsfile
Lecture 49 Creating Jenkins Pipeline
Section 7: Continuous Integration Continuous Deployment
Lecture 50 Automated Testing
Lecture 51 Configure Jenkinfile: Build and Test Stages
Lecture 52 Testing the Pipeline and Installing Blue Ocean
Lecture 53 Configure Jenkinfile: Deploy Stage
Lecture 54 Solved: Deploy Stage SSH Issues
Lecture 55 Setting Up a Webhook to Trigger Pipeline builds
Lecture 56 Solved: Error 401 Invalid token
Lecture 57 Test the Pipeline for Failing Automated Testing
Section 8: Continuous Integration Continuous Delivery
Lecture 58 Setting Up a Staging Server
Lecture 59 Edit Configuration files for the Staging Server
Lecture 60 Jenkinsfile to Deploy to Staging before Production
Lecture 61 Manually approve the Deployments to Production
Section 9: Working With Multiple Developers
Lecture 62 Adding Jane a Developer to the Project
Lecture 63 Setting up A Dev Environment for Jane
Lecture 64 Setting Up the Application on Jane’s Dev Environment
Lecture 65 Opening and Assigning Issues to Jane
Lecture 66 Jane Adds a New Feature to the Application
Lecture 67 Creating and Approving Merge Requests
Section 10: Deploying to AWS EC2 Instance
Lecture 68 Creating an AWS Account
Lecture 69 Launching an EC2 Instance
Lecture 70 Attaching An Elastic IP Address to EC2
Lecture 71 EC2: SSHing with Putty
Lecture 72 EC2: PostgreSQL Setup
Lecture 73 EC2: Set Up A Dedicated Deploy User
Lecture 74 EC2: Set Up Python’s Virtual Environment
Lecture 75 Git: Configure a Second Remote Repository
Lecture 76 Setting Up Our Application on EC2
Lecture 77 EC2: Configure Gunicorn Services
Lecture 78 EC2: Configure Nginx to Proxy Pass to Gunicorn
Lecture 79 Terminate Your EC2 Instance and release its Elastic IP
Section 11: Dockerize your Django application (Currently under recreation)
Lecture 80 Installing Docker on your Dev machine
Lecture 81 Clone the project on to the virtual machine
Lecture 82 Add Docker files to your code
Lecture 83 Configure environment variables
Lecture 84 Building and running the containers
Lecture 85 Developing from Docker Dev environment
Lecture 86 Create alias in bashrc
Lecture 87 Congratulations!
Beginner DevOps Engineers looking for practical experience,Developers who wants to learn how to deploy their applications to production,System Admins who want to move to DevOps roles,Anyone who needs hand-on experience on practical DevOps
Course Information:
Udemy | English | 5h 24m | 1.62 GB
Created by: Dare Soremi
You Can See More Courses in the Developer >> Greetings from CourseDown.com