8. DevOps 與 CI/CD
流程範例
- Build → Test → Scan → Push → Deploy
GitHub Actions(簡化範例)
name: ci
on:
push:
branches: [ main ]
jobs:
docker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: docker/setup-buildx-action@v3
- uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: docker/build-push-action@v6
with:
context: .
push: true
tags: ghcr.io/yourname/app:latest
多環境部署
compose.yml + compose.prod.yml 覆寫
- 專案名稱與 .env 區分 dev/staging/prod
私有 Registry
- GHCR / Harbor / Nexus:命名與版本策略(如
1.2.3、git-sha、latest)