Description
In this course, you will learn :
- How to Create a Local DevOps Lab Environment Consider a Virtual Private Network.
- Deploying Laravel Applications to Production.
- How Configure CICD Pipelines with Git, GitLab, and Jenkins.
- You will learn how to use Git to manage the code for your projects.
- How to Deploy Laravel Applications to the AWS Cloud.
- How to Collaborate with Multiple Developers During the CICD Process
Syllabus :
1. Setting Up Local DevOps Lab Environment
- Install Oracle VirtualBox
- Please Read: Enabling Virtual Technology on Your Computer
- Install Virtual Ubuntu Server
- Install Virtual Ubuntu Desktop
- SSHing without Password
- Run Sudo Commands without Passwords
- Create More Virtual Servers
2. Basic: Git and GitLab
- Configure Local DNS for Your GitLab URL
- Reset GitLab Root Password and Create an Admin User
- Installing Git
- Git Global Settings
- Creating A GitLab Project
- Add SSH Keys To Your GitLab Account
- Git Popular Commands: Clone Add Commit Push
- Intro to Git Branching
- Creating and Approving Merge Requests
- Update Local Repo and Delete the New Branch
- Branching and Merging Locally
3. Laravel Dev Environment
- Install Necessary Programs
- Creating a New Laravel App
- Example App Demo
- Pushing Our Code to Remote Code Repository
4. Deployment Setup
- Create a Dedicated Deploy User
- Add Deploy User SSH keys to GitLab
- Configure Local DNS Service
- LEMP Setup
- MySQL Database Setup
- Configure Your App on the Prod Server
- Configure Nginx Webserver
- Solved: Permission Denied Error
5. CICD Setup
- Installing Jenkins
- Install Necessary Jenkins Plugins
- Set up Dedicated User for GitLab-Jenkins Integration
- Configure GitLab-Jenkins Communications
- Grant Dedicated User Access to Your Project
- Add Jenkinsfile to the Code
- Add User Jenkins SSH Keys to GitLab
- Create A Pipeline On Your Jenkins Instance
6. CICD: Continuous Integration Continuous Deployment
- Automated Testing
- Set Up Jenkins Server for Build and Test Stages
- Configure Jenkinsfile for Build and Test Stages
- Production Server Should not require Password from User Jenkins
- Configure Deploy Stage
- Configure a Web hook to trigger the Pipeline Build
- Confirm Your Pipeline is Continuous
7. CICD: Continuous Integration Continuous Delivery
- Create A Staging Server
- Configure Your App on the Staging Server
- Configure Jenkinsfile to Deploy to Staging
- Testing the Pipeline with Broken Codes
8. Multiple Developers
- Adding Jane to the Project
- Setting Up Jane's Dev Environment
- Configure the App on Jane's Desktop
- Creating A GitLab Issue
- Jane Develops New Feature
- Submitting and Approving Merge Requests
9. Deploying To AWS EC2
- Configure a Second Remote Repo for the App
- Create an AWS Account
- Launching an EC2 Instance
- Associating an Elastic IP Address to Our EC2 Instance
- SSHing into Our EC2 Instance
- Set up a Dedicated Deploy User on EC2
- LEMP Setup on EC2
- Set Up MySQL Database on EC2
- Configure the App on EC2
- Configure Nginx Webserver on EC2 to serve the Application
- Terminate Your EC2 Instance and release its Elastic IP