Skip to content

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.3git-shalatest