Welcome to my Git & GitHub Masterclass Hub. This repository has evolved from a simple file storage into a professional-grade CI/CD (Continuous Integration / Continuous Deployment) infrastructure.
This project is organized as a central hub that interconnects various course sections, utilizing modern DevOps practices for automation and testing.
-
Universal Logic: JavaScript implementations designed to run seamlessly in both Browser and Node.js environments.
-
Unit Testing: A robust test suite using
node:assertto validate business logic and handle physical limits (like Absolute Zero). -
Automation: A full pipeline configured via *CircleCI for automated testing on every push.
-
Secure Deployment: Automated publishing to GitHub Pages via a dedicated
gh-pagesbranch using encrypted SSH keys. -
Modular Structure: Integration of a Git Submodule to manage the project's external course fork as an independent repository.
-
Language: JavaScript (ES Modules)
-
Styling: Tailwind CSS (Dashboard UI)
-
CI/CD: CircleCI
-
Versioning: Semantic Versioning (SemVer)
-
Environment: Node.js 20.x
-
Deployment: GitHub Pages (via SSH)
-
Trigger: Any push to master (without [skip ci]) wakes up the CircleCI runner.
-
Environment Setup: The runner spins up a Docker container with Node.js 20.
-
Validation: npm test is executed. If any test fails, the process terminates immediately.
-
Deployment: If tests pass, the runner uses a stored SSH Private Key to authenticate with GitHub and updates the
gh-pages branch.
This project follows Semantic Versioning (SemVer). Stable milestones are tagged to track the evolution of the CI/CD architecture:
-
v1.0: Initial project setup and logic implementation.
-
v1.2.0: Automated deployment to GitHub Pages via SSH.
To view all official releases and change logs, visit the Releases section.
To replicate this environment locally:
git clone --recursive https://github.com/ConstantinLiviu/Git-Github-Masterclass.git
npm install
npm test
SSH Fingerprinting: Used for secure, passwordless authentication between CircleCI and GitHub.
Environment Isolation: Private keys are stored in CircleCI's encrypted vault, never exposed in source code.
Branch Protection: Deployments are automated to ensure production stability.
⭐ Developed as part of the Git & GitHub Masterclass course.