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

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