Configure Laravel 8 for CI/CD with Jenkins and GitHub — Part 1

Configure Laravel 8 for CI/CD with Jenkins and GitHub — Part 1

This month I started to read a book called “Continuous Delivery with Docker and Jenkins — Second edition” from Rafal LESZKO. I bought it on Amazon.

This month I started to read a book called “Continuous Delivery with Docker and Jenkins — Second edition” from Rafal LESZKO. I bought it on Amazon.

I’m a professor at the University EAFIT in Colombia, and I teach a software architecture course (I have a Ph.D. in computer science). I never used Jenkins and I’m relatively new to CI/CD topics. For my software architecture course, I use the Laravel framework. So, I thought it will be good, try to replicate the elements I learned from the “Continuous Delivery with Docker and Jenkins — Second edition” book, but applied to Laravel (to get some practical knowledge in these fields).

This story is about that. I will show you some results and some code, about how I applied the lessons I learned in that book (Chapters 1 to 5 / I plan to develop a second part of this story regarding Chapters 6 to 8) but applied to the Laravel framework (the book originally shows an example in Java with the Spring boot framework).

0. Concepts introduction

Docker is a tool designed to make it easier to create, deploy, and run applications by using containers.

Jenkins is an open-source automation tool written in Java with plugins built for Continuous Integration purposes.

GitHub is a code hosting platform for version control and collaboration.

Continuous integration (CI) and continuous delivery (CD) embody a culture, set of operating principles, and collection of practices that enable application development teams to deliver code changes more frequently and reliably. The implementation is also known as the CI/CD pipeline.

*Laravel *is a free, open-source PHP web framework, created by Taylor Otwell and intended for the development of web applications following the model–view–controller (MVC) architectural pattern and based on Symfony.

Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, scalable compute capacity in the cloud.

Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate, and scale a relational database in the cloud.

Unit testing is a software testing method by which individual units of source code — sets of one or more computer program modules.

Code coverage is a metric that can help you understand how much of your source is tested.

Static code analysis is a method of debugging by examining source code before a program is run.

*Acceptance Testing *is to assess whether the Product is working for the user, correctly for the usage.

laravel docker continuous-integration jenkins php

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Integrating SonarQube with Jenkins

SonarQube is an open-source platform for continuous inspection of code quality. Here, We will discuss integrating SonarQube with Jenkins to achieve CI with fully automated code analysis.

How to integrate paytm payment gateway in laravel example

In this article, i will let you know to integrate paytm payment gateway in laravel with example. In this example will use paytm laravel package.

Jenkins Is Getting Old — It’s Time to Move On

After using Jenkins on several projects, we say it's time to move on. Jenkins is left behind with his old approach — found out more!

Php how to delete multiple rows through checkbox using ajax in laravel

In this article i will let you know to delete multiple rows through checkbox using ajax in laravel and before delete we will give a confirmation message.

Configure Laravel 8 for CI/CD with Jenkins and GitHub — Part 2

In the first part, I discussed some lessons I learnt from the “Continuous Delivery with Docker and Jenkins — Second edition” book (Chapters 1 to 5). It was about applying unit tests, code coverage tests, and acceptance tests for a Laravel 8 project (CI/CD). In that case, we used Amazon AWS, Jenkins, GitHub and Docker.