c3572682ad
Run Tests / test (pull_request) Successful in 30s
- 所有 task 驗證完成(7.1 stderr log / 7.2 無新增日誌檔 / 7.3 session 走 Redis) - 同步 env-cloud-annotations 主 spec(LOG_CHANNEL 取代 LOG_STACK + 新增 scenario) - 新增 scheduler-container 主 spec(獨立 container 取代 cron daemon) - 移至 archive/2026-06-18-cloud-ready-p1 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
32 lines
1.8 KiB
Markdown
32 lines
1.8 KiB
Markdown
# env-cloud-annotations
|
||
|
||
`.env.example` 補充雲端部署必要環境變數的說明與正確預設值。
|
||
|
||
## Requirements
|
||
|
||
### Requirement: QUEUE_CONNECTION 預設值為 redis
|
||
`.env.example` 的 `QUEUE_CONNECTION` SHALL 預設為 `redis`,與 VPS 實際運作設定一致,避免新環境按範本初始化後跑在效能較差的 database queue。
|
||
|
||
#### Scenario: 新環境照 .env.example 初始化
|
||
- **WHEN** 開發者或 CI 以 `.env.example` 為基礎建立 `.env`,未手動修改 `QUEUE_CONNECTION`
|
||
- **THEN** Laravel queue driver 使用 Redis,queue worker 正常消費 Redis 佇列中的 job
|
||
|
||
### Requirement: .env.example 標示雲端必要變數
|
||
`.env.example` SHALL 以行內註解或正確預設值標示以下雲端部署時必須明確設定的變數:
|
||
- `FILESYSTEM_DISK`:雲端應設為 `s3`(預設 `local` 在容器重啟後遺失上傳檔案)
|
||
- `LOG_CHANNEL`:預設改為 `stderr`(雲端 logging aggregator 標準;原 `stack/daily` 寫檔案不適合雲端)
|
||
- `QUEUE_CONNECTION`:預設為 `redis`
|
||
- `SESSION_DRIVER`:預設改為 `redis`(取代 `database`,擴容更高效)
|
||
|
||
#### Scenario: 新環境照 .env.example 初始化 session driver
|
||
- **WHEN** 開發者以 `.env.example` 為基礎建立 `.env`,未手動修改 `SESSION_DRIVER`
|
||
- **THEN** Laravel session driver 使用 Redis
|
||
|
||
#### Scenario: 新環境照 .env.example 初始化 log channel
|
||
- **WHEN** 開發者以 `.env.example` 為基礎建立 `.env`,未手動修改 `LOG_CHANNEL`
|
||
- **THEN** Laravel 日誌寫入 stderr,可透過 `docker compose logs app` 查看
|
||
|
||
#### Scenario: 操作者閱讀 .env.example 進行雲端部署
|
||
- **WHEN** 操作者參照 `.env.example` 設定雲端環境的 `.env`
|
||
- **THEN** 每個雲端關鍵變數旁有說明,提示預設值在雲端環境的限制與建議替代值
|