Skip to content

Deploy: Azure Docker CI/CD setup - #14

Merged
PathNotFound404 merged 3 commits into
mainfrom
Deployment
Apr 29, 2026
Merged

PathNotFound404 merged 3 commits into
mainfrom
Deployment

Conversation

@PathNotFound404

Copy link
Copy Markdown
Owner

Summary

  • Adds Dockerfiles for backend (Maven ? JRE 17 Alpine) and frontend (Node 20 ? Nginx Alpine)
  • Adds nginx.conf with SPA fallback for Vue Router history mode
  • Adds application-prod.yaml for MySQL production profile activated via SPRING_PROFILES_ACTIVE=prod
  • Externalises CORS origin and API base URL to environment variables
  • Adds .github/workflows/ci.yml (PR gate: Maven test + Vite build)
  • Adds .github/workflows/deploy.yml (push to main ? ACR push ? App Service deploy)
  • Adds docs/azure-deployment.md operations guide
  • Fixes InstructorServiceTest date-type mismatch in peer eval stubs

Azure resources provisioned

  • ACR: cpprojectpulseacr.azurecr.io
  • App Service (backend): cpprojectpulse-backend.azurewebsites.net
  • App Service (frontend): cpprojectpulse-frontend.azurewebsites.net
  • MySQL: projectpulse-db12.mysql.database.azure.com
  • Key Vault: projectpulse-kv (secrets: db-url, db-username, db-password, cors-allowed-origin)

Test plan

  • CI jobs pass on this PR (Maven tests + Vite build)
  • Merge triggers Deploy workflow
  • GET https://cpprojectpulse-backend.azurewebsites.net/api/sections returns JSON
  • https://cpprojectpulse-frontend.azurewebsites.net loads and login works

?? Generated with Claude Code

PathNotFound404 and others added 3 commits April 29, 2026 16:25
Linux CI fails because the import used './instructorService' but the
file is 'InstructorService.js' (capital S). Windows is case-insensitive
so this worked locally but broke on GitHub Actions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@PathNotFound404
PathNotFound404 merged commit 1ae8d72 into main Apr 29, 2026
2 checks passed
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.

1 participant