Docker & Môi trường
Docker Build
Mỗi MFE có 1 Dockerfile multi-stage:
Stage 1: Install (pnpm install)
Stage 2: Build (pnpm build --filter @vppos/<module>)
Stage 3: Serve (nginx:alpine — serve static files)
Docker Compose
UAT (docker-compose.uat.yml)
Deploy tất cả MFEs trên 1 server. Mỗi MFE 1 container.
docker compose -f docker-compose.uat.yml pull
docker compose -f docker-compose.uat.yml up -d --remove-orphans
Local (docker-compose.yml)
docker-compose -f infra/docker-compose.local.yml up --build
Bi ến môi trường
Tất cả MFE dùng chung 1 file .env ở root (qua Vite envDir).
# .env.example
VITE_API_BASE_URL=https://api.vppos.vn
VITE_API_VERSION=v1
Quy tắc
- File
.envKHÔNG được commit — chỉ.env.exampleđược commit - Copy
.env.example→.envkhi setup local - Prefix
VITE_để expose cho client-side code - Không hard-code URL, secret trong source code
CI/CD
Trong GitLab CI, biến môi trường được inject qua CI/CD Variables:
# .gitlab-ci.yml
before_script:
- printenv | grep "^VITE_" > .env || true