irBnB Clone - Deploy Static

Project Overview

This project focuses on deploying a static version of an AirBnB clone using Fabric, Python scripts, and Bash scripts. The goal is to automate the deployment process, manage Nginx configuration, and learn about concepts such as Continuous Integration/Continuous Deployment (CI/CD).

Concepts

This project expects you to understand and apply the following concepts:

  • CI/CD (Continuous Integration/Continuous Deployment)
  • AirBnB clone deployment

Background Context

After completing the SysAdmin project related to load balancing, you now have two web servers and a load balancer. This project aims to make your work public by deploying your web_static work using Fabric.

Learning Objectives

By the end of this project, you should be able to:

  • Explain what Fabric is and how to use it for deployment.
  • Deploy code to a server easily.
  • Understand what a tgz archive is.
  • Execute Fabric commands locally and remotely.
  • Transfer files with Fabric.
  • Manage Nginx configuration.
  • Differentiate between root and alias in an Nginx configuration.

Requirements

Python Scripts

  • Use Python 3.4.0 on Ubuntu 20.04 LTS.
  • Follow PEP 8 style (version 1.7.*).
  • Ensure your Fabric file works with Fabric 3 version 1.14.post1.
  • Include proper documentation for all functions and modules.

Bash Scripts

  • Use Ubuntu 20.04 LTS.
  • Follow Shellcheck standards (version 0.3.3-1~ubuntu20.04.1).
  • Include a README.md file.
  • Make all Bash scripts executable.
  • Add comments explaining what each Bash script does.