lily_website

πŸš€ DevOps β€” CI/CD Pipeline

docs/en_EN/infrastructure/ Β· DevOps Overview


Pipeline Overview

develop ──push──→ CI Develop (Lint: Ruff + Mypy)
    β”‚
    └──PR──→ main ──→ CI Main (Tests + Docker Build Check)
                β”‚
                └──tag (v*)──→ Deploy Production (Build β†’ GHCR β†’ Deploy)

Note: Production deployment now uses git tags instead of the release branch.

See: Tag-Based Releases Guide


Branches

Branch Purpose Protection
develop Active development CI lint on push
main Stable code (production-ready) PR only, CI tests required

Production Deployment: Triggered by pushing tags matching v* pattern (e.g., v1.2.3)


Workflows

File Trigger Actions
ci-develop.yml Push to develop Ruff lint + Mypy type check
ci-main.yml PR to main Full pytest + Docker build check
deploy-production-tag.yml Push tag v* Build images β†’ GHCR β†’ SSH deploy to VPS

Docker Architecture

See docker.md for container architecture.

Setup

See github-secrets.md for required secrets configuration.


Module Map

File Description
docker.md Docker containers and compose architecture
github-secrets.md GitHub repository secrets setup
branching.md Git branching strategy