Chuyển tới nội dung chính

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 .env KHÔNG được commit — chỉ .env.example được commit
  • Copy .env.example.env khi 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