Skip to content

1. Introduction

Daniel Favour edited this page Jul 21, 2024 · 21 revisions

Project Overview

Objective

This project aims to set up an advanced Continuous Integration and Continuous Deployment (CI/CD) pipeline using GitHub Actions. It integrates appropriate messaging queues and manages the deployment of Java boilerplate projects. The primary focus is on automating build, test, and deployment tasks while improving service communication through messaging queues. Successful execution of this project will streamline project management, ensure reliable deployments, and foster team success.

Branching

This repository is organized into three branches, each corresponding to a specific deployment environment on the server. Changes to these branches trigger automated deployments to their respective environments:

  • Dev Branch: Deploys to the development environment.

  • Staging Branch: Deploys to the staging environment.

  • Main Branch: Deploys to the production environment.

What this Project Covers and How it Works

  • CI/CD Pipeline with GitHub Actions: The CI/CD pipeline is built with GitHub Actions. It automates build, test, and deployment processes for the application to different environments (dev, staging, and prod).

  • Database Setup: A Postgres database to work with the Java application.

  • Messaging Queues Integration: RabbitMQ for task queuing, allowing asynchronous processing and improving the system’s responsiveness and efficiency.