Files
OpenIsle/deploy/AGENTS.md

41 lines
1.5 KiB
Markdown

# Deploy 协作指引
## 1) 适用范围
- 作用于 `deploy/` 目录及其脚本。
- 该目录为高风险变更区,默认保守修改。
## 2) 当前部署基线
- 预发:`main` push 触发(见 `.github/workflows/deploy-staging.yml`)。
- 正式:定时任务触发(见 `.github/workflows/deploy.yml`)。
- 两者使用同一并发锁 `openisle-server`,避免服务器并发部署冲突。
## 3) 脚本修改原则
- 保留 `set -euo pipefail` 等安全执行特性。
- 变更服务列表或 `docker compose up` 参数时,必须说明影响范围。
- 不随意改动 `git fetch/checkout/reset` 逻辑;若改,必须附回滚方案。
- 任何“可能中断服务”的改动,都要在说明中给出停机/风险评估。
## 4) 环境与参数规则
- 部署依赖根目录 `.env`(由脚本中 `env_file``ENV_FILE` 传入)。
- `COMPOSE_PROJECT_NAME``NUXT_ENV`、服务名列表需保持可追踪且与 compose 一致。
- 若新增服务,需同步:
- `docker/docker-compose.yaml`
- 部署脚本中的 build/up 目标
- 必要时更新 workflow 说明
## 5) 验证建议
- 语法检查:
- `bash -n deploy/deploy.sh`
- `bash -n deploy/deploy_staging.sh`
- 变更前后做一次 `docker compose config` 思维核对(服务与 profile 是否正确)。
## 6) 输出要求
- 明确:影响环境(预发/正式)、影响服务、是否可能重建容器。
- 必填:回滚路径(例如切回上一 commit 并重新执行部署脚本)。