CI / CD
自动测试 — .github/workflows/ci.yml
触发:push 到 main 或 master,以及 pull_request。远程默认分支目前是 master。
- Service:PostgreSQL 16
- Python 3.12
python manage.py checkpython manage.py test- 无 GitHub Secrets;CI 用 workflow 内写死的测试库账号
手动部署 — .github/workflows/main.yml
仅 workflow_dispatch。appleboy/ssh-action 执行:
bash /home/ubuntu/deploy.sh
| Secret | 含义 |
|---|---|
DEPLOY_HOST | 主机 |
DEPLOY_USER | SSH 用户 |
DEPLOY_SSH_KEY | 私钥全文 |
DEPLOY_PORT | 可选,默认 22 |
deploy.sh 应完成:git pull、安装依赖、migrate、collectstatic、systemctl restart gunicorn 对应 unit。
安全
旧 workflow 曾把 SSH 密码写进仓库。若该密码仍有效,立即轮换并只使用 SSH key。
CODEOWNERS:.github/CODEOWNERS → @BU-CSSA-Tech/EB。