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.