DevOps Project: CICD with Git GitLab Jenkins and Laravel
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 PHP/Laravel applications.
More
You will learn how to manually deploy Laravel applications to production and later automate the process with CICD using Git, GitLab and Jenkins as the pipeline tools.
You will also learn how to deploy your Laravel Application to the cloud. We are using AWS Platform for that
The concepts can be applied to any programing language or framework.
If you are seeking a job as a Developer or a DevOps Engineer and need some more points in your resume, this course is one of those courses that you should take.
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. And that, you can work with and keep for as long as you will without any fear of charges.
Everything we'll do will be hands-on and straight to the points.
Watch Online DevOps Project: CICD with Git GitLab Jenkins and Laravel
# | Title | Duration |
---|---|---|
1 | Introduction | 04:51 |
2 | Prerequisites | 01:53 |
3 | Demo: The end results of the project | 05:20 |
4 | Install Oracle VirtualBox | 01:47 |
5 | Install Virtual Ubuntu Server | 10:30 |
6 | Install Virtual Ubuntu Desktop | 09:31 |
7 | SSH Connection into the Virtual Machines | 07:55 |
8 | SSHing without Password | 05:49 |
9 | Run Sudo Commands without Passwords | 02:15 |
10 | Installing Gitlab Instance | 04:05 |
11 | Configure Local DNS for Your GitLab URL | 01:58 |
12 | Reset GitLab Root Password and Create an Admin User | 03:16 |
13 | Installing Git | 03:06 |
14 | Git Global Settings | 01:53 |
15 | Creating A GitLab Project | 02:06 |
16 | Add SSH Keys To Your GitLab Account | 02:26 |
17 | Git Popular Commands: Clone Add Commit Push | 05:47 |
18 | Intro to Git Branching | 05:42 |
19 | Creating and Approving Merge Requests | 02:22 |
20 | Update Local Repo and Delete the New Branch | 02:20 |
21 | Branching and Merging Locally | 04:14 |
22 | Install Necessary Programs | 04:52 |
23 | Creating a New Laravel App | 05:04 |
24 | Example App Demo | 03:16 |
25 | Pushing Our Code to Remote Code Repository | 04:02 |
26 | Create a Dedicated Deploy User | 03:56 |
27 | Add Deploy User SSH keys to GitLab | 02:40 |
28 | Configure Local DNS Service | 02:36 |
29 | LEMP Setup | 07:31 |
30 | MySQL Database Setup | 04:57 |
31 | Configure Your App on the Prod Server | 06:32 |
32 | Configure Nginx Webserver | 05:17 |
33 | Solved: Permission Denied Error | 04:52 |
34 | Installing Jenkins | 05:48 |
35 | Install Necessary Jenkins Plugins | 01:52 |
36 | Set up Dedicated User for GitLab-Jenkins Integration | 02:43 |
37 | Configure GitLab-Jenkins Communications | 03:24 |
38 | Grant Dedicated User Access to Your Project | 01:42 |
39 | Add Jenkinsfile to the Code | 03:11 |
40 | Add User Jenkins SSH Keys to GitLab | 02:05 |
41 | Create A Pipeline On Your Jenkins Instance | 03:49 |
42 | Automated Testing | 03:42 |
43 | Set Up Jenkins Server for Build and Test Stages | 04:43 |
44 | Configure Jenkinsfile for Build and Test Stages | 02:24 |
45 | Production Server Should not require Password from User Jenkins | 04:36 |
46 | Configure Deploy Stage | 06:33 |
47 | Configure a Web hook to trigger the Pipeline Build | 06:15 |
48 | Confirm Your Pipeline is Continuous | 02:33 |
49 | Create A Staging Server | 03:44 |
50 | Configure Your App on the Staging Server | 05:49 |
51 | Configure Jenkinsfile to Deploy to Staging | 04:08 |
52 | Testing the Pipeline with Broken Codes | 05:04 |
53 | Adding Jane to the Project | 02:51 |
54 | Setting Up Jane's Dev Environment | 05:57 |
55 | Configure the App on Jane's Desktop | 04:46 |
56 | Creating A GitLab Issue | 02:27 |
57 | Jane Develops New Feature | 06:24 |
58 | Submitting and Approving Merge Requests | 05:24 |
59 | Configure a Second Remote Repo for the App | 03:56 |
60 | Create an AWS Account | 02:28 |
61 | Launching an EC2 Instance | 07:02 |
62 | Associating an Elastic IP Address to Our EC2 Instance | 02:22 |
63 | SSHing into Our EC2 Instance | 04:09 |
64 | Set up a Dedicated Deploy User on EC2 | 02:34 |
65 | LEMP Setup on EC2 | 03:11 |
66 | Set Up MySQL Database on EC2 | 02:47 |
67 | Configure the App on EC2 | 06:00 |
68 | Configure Nginx Webserver on EC2 to serve the Application | 03:46 |
69 | Terminate Your EC2 Instance and release its Elastic IP | 02:31 |