feat: convert workflows to tag-based deployment with semantic versioning

- Replace branch triggers with tag triggers for all services
- Backend: backend-dev-v1.0.0
- Learner: learner-dev-v1.0.0
- Management: management-dev-v1.0.0
- Extract version from tags and use for Docker image tagging
- Update compose.yaml to use GITEA_INSTANCE variable
- Add comprehensive deployment guide (DEPLOYMENT.md)
- Support pre-release tags (beta, rc, alpha)

BREAKING CHANGE: Pushing to dev branch no longer triggers deployment.
Must create and push version tags to deploy.
This commit is contained in:
JakkrapartXD 2026-02-11 10:20:35 +07:00
parent 025084b2bf
commit e7a2ac8b5a
5 changed files with 489 additions and 46 deletions

View file

@ -5,23 +5,27 @@ services:
# Backend API
backend:
image: 192.168.1.60/chamomind/elearning-backend:${BACKEND_TAG:-latest}
image: ${GITEA_INSTANCE}/chamomind/elearning-backend:${BACKEND_TAG}
container_name: elearning-backend
restart: unless-stopped
ports:
- "4000:4000"
- "20901:4000"
env_file:
- .env
environment:
- NODE_ENV=production
networks:
- elearning-shared
# Frontend Learner
frontend-learner:
image: 192.168.1.60/chamomind/elearning-learner:${FRONTEND_TAG:-latest}
learner:
image: ${GITEA_INSTANCE}/chamomind/elearning-learner:${FRONTEND_TAG}
container_name: elearning-learner
restart: unless-stopped
ports:
- "20902:3000"
environment:
- PORT=${PORT_MANG:-3000}
env_file:
- .env
depends_on:
@ -30,12 +34,14 @@ services:
- elearning-shared
# Frontend Management
frontend-management:
image: 192.168.1.60/chamomind/elearning-management:${MANAGEMENT_TAG:-latest}
management:
image: ${GITEA_INSTANCE}/chamomind/elearning-management:${MANAGEMENT_TAG}
container_name: elearning-management
restart: unless-stopped
ports:
- "20903:3001"
environment:
- PORT=${PORT_MANG:-3001}
env_file:
- .env
depends_on: