Skip to content

Implementing CI/CD on a MERN stack application. Uses GitHub Actions and Ansible

Notifications You must be signed in to change notification settings

Sanjay-George/ci-cd-restro-app

Repository files navigation

ci-cd-restro-app

Learning CI/CD practices by implementing them on a restaurant booking app.

Deploy code Build Backend Build Frontend

CI / CD pipelines ⚙️

Build pipeline

build-pipeline drawio(5)

GitHub Workflows

File Description
build_backend.yml To build and test backend code (node.js). Triggers on push to master with file patterns: **/*.js, **/package.json', '!**/frontend/**' (excludes frontend folder)
build_frontend.yml To build and test frontend code (react). Triggers on push to master with file patterns: **/frontend/**/*.js, **/frontend/**/package.json

Release pipeline

build-pipeline drawio(6)

GitHub Workflows

File Description
deploy.yml To deploy code. Depends on build_backend and build_frontend jobs (see image below)

image


Tools and frameworks 🚜

Automation and Cloud

  • Ansible
  • GitHub Actions
  • Docker
  • Microsoft Azure (for cloud resources)

image

Web Application

  • React
  • NodeJS
  • MySQL

Learning Outcomes 💡

  • Understand how to set up infrastructure with Ansible playbook(s)
  • Configure NGINX, Node and other tools for serving the site with Ansible playbook(s)
  • Continuous Integration with GitHub Actions
  • Continuous Deployment with GitHub Actions and Ansible

Infrastructure 🏗️

References

About

Implementing CI/CD on a MERN stack application. Uses GitHub Actions and Ansible

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published