Skip to content

feat: implementation of DevOps Assignment (Docker, CI/CD, Security)#2

Merged
LuisMLGDev merged 12 commits into
mainfrom
feature/devops-initial-setup
Dec 26, 2025
Merged

feat: implementation of DevOps Assignment (Docker, CI/CD, Security)#2
LuisMLGDev merged 12 commits into
mainfrom
feature/devops-initial-setup

Conversation

@LuisMLGDev

Copy link
Copy Markdown
Owner

📋 Summary

This PR implements the full DevOps solution for the ABB Technical Assignment. It containerizes the React application using best practices and establishes a robust CI/CD pipeline ensuring code quality and security.

🛠️ Technical Implementation

1. Docker & Containerization

  • Multi-stage Build: Implemented in Dockerfile to separate build dependencies (Node.js) from the runtime environment.
  • Optimization: Used nginx:alpine for the final image to minimize size and attack surface.
  • SPA Routing: Configured custom nginx.conf to handle React Router paths correctly (preventing 404s on refresh).

2. CI/CD Pipeline (GitHub Actions)

The pipeline (.github/workflows/ci-cd.yml) covers:

  • CI: Linting (yarn lint) and End-to-End testing with Cypress.
  • Security: Integrated Trivy to scan the Docker image for Critical/High vulnerabilities.
  • CD:
    • Deploys the web application to GitHub Pages (Test Environment).
    • Pushes the versioned Docker image to GitHub Container Registry (GHCR).

3. Documentation

  • Updated README.md with an architectural diagram (Mermaid), setup instructions, and deployment links.

✅ Verification

The reviewer can verify the solution here:

📸 Screenshots (Optional)

(Architecture Diagram included in README)


Closes #1

@LuisMLGDev LuisMLGDev force-pushed the feature/devops-initial-setup branch from 0ce3329 to b58a807 Compare December 26, 2025 16:03
@LuisMLGDev LuisMLGDev merged commit 3ee347f into main Dec 26, 2025
3 checks passed
@LuisMLGDev LuisMLGDev deleted the feature/devops-initial-setup branch December 26, 2025 16:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement Technical Challenge requirements

1 participant