What is CI/CD?

CI/CD consists of 2 parts: CI and CD.

CI (Continuous Integration) is the process of integrating code into a code repository and running automated tests frequently and quickly. You can perform CI using commit commands.

CD (Continuous Delivery or Continuous Deployment) is a practice done after the CI process completes and all code is successfully integrated, allowing the application to be built and released automatically.

Therefore, CI/CD is a DevOps practice used to make software development more organized. Using CI/CD in application development provides many benefits that development teams will immediately experience. Additionally, there are many tool options available to support running this CI/CD process automatically and securely.

Environment

In this tutorial, the environment used is as follows:

  • OS: Debian 11
  • CPU: 1
  • RAM: 1 GB
  • Disk: 20GB
  • Panel: Aapanel
  • Web Server: Nginx
  • PHP: 8.1
  • Database: MySQL
  • Laravel 10
  • Supervisor

Tutorial

In this documentation, we will only use GitHub Actions.

First, we need to set up the project workspace where we want to implement CI/CD. This includes setting up PHP, Nginx, Database, cloning the project, and so on. Once completed, you can proceed to the next step.

Sources

  1. [Dicoding] - What is CI/CD?
  2. [kirschbaum] - CI/CD using Github Actions for Laravel.
Table of Contents