From 22447ae041a5bb1a47ec5428f6bc51e89d207720 Mon Sep 17 00:00:00 2001 From: Mina Choi Date: Mon, 7 Sep 2026 13:33:34 +0900 Subject: [PATCH] =?UTF-8?q?Revert=20"[docs]=20AGENTS,deploy:=20=EC=9E=AC?= =?UTF-8?q?=EA=B5=BD=EA=B8=B0=20=EC=BB=A8=ED=85=8C=EC=9D=B4=EB=84=88?= =?UTF-8?q?=EB=8A=94=20solution-prerender=20=EB=8B=A4=20=E2=80=94=20soluti?= =?UTF-8?q?on-frontend=20=EB=8A=94=20=EA=B0=9C=EB=B0=9C=EC=9A=A9"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 6f4e05517fef19a096e6cc0e97020fef8c73086f. --- AGENTS.md | 8 ++------ docs/DEPLOY.md | 4 ++-- docs/DEVLOG.md | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 88bda4f..7f17aec 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -40,15 +40,11 @@ 없고**, 그때 디스크에 있던 기존 자산이 전부 "대장에 없음" 으로 분류돼 한꺼번에 삭제됐다. 옛 자산을 남기려고 만든 코드가 첫 실행에서 정확히 반대로 동작했다. → 자산을 지우는 코드를 손볼 때는 **"기록이 없다"와 "만료됐다"를 절대 같이 묶지 않는다.** - → 이미 끊겼다면 복구는 `docker compose restart solution-prerender` (기동하며 전체 재굽기). -- **★ 사이트를 굽는 컨테이너는 `solution-prerender` 다.** `solution-frontend` 는 **개발용**이라 - 운영에서는 아예 뜨지 않는다(`docker-compose.yml` `profiles: ["dev"]`). 이름이 비슷해서 - `restart solution-frontend` 를 치면 **아무 일도 안 일어나는데 명령은 성공한다** — - 재굽기를 했다고 믿고 넘어가게 된다. 실제로 그렇게 복구가 한 번 헛돌았다(2026-09-07). + → 이미 끊겼다면 복구는 `docker compose restart solution-frontend` (기동하며 전체 재굽기). - **★ 프론트(`solution/site`)를 배포하면 반드시 전체 재굽기 + 전체 재업로드.** `azure_static.publish(slug)` 는 공용 자산 + `s/` 만 올린다 — **렌더러를 고쳐도 다른 사이트에는 반영되지 않는다.** - → `docker compose restart solution-prerender` 후 `python scripts/republish_all.py` + → `docker compose restart solution-frontend` 후 `python scripts/republish_all.py` - **발행 호스트는 두 곳에 있고 같아야 한다.** 백엔드 `SITE_PUBLIC_HOST`(기본 `web4ai.o2osolution.ai`, `site_payload.py`) ↔ 프론트 `VITE_PUBLISH_HOST`. canonical·og:url·sitemap·IndexNow 가 전부 이 값을 쓴다. 그리고 **`origin` 은 payload JSON 에 구워진다** — 호스트를 바꾸면 프리렌더 diff --git a/docs/DEPLOY.md b/docs/DEPLOY.md index 9c180f5..9a27c1c 100644 --- a/docs/DEPLOY.md +++ b/docs/DEPLOY.md @@ -87,7 +87,7 @@ CSS 404 였다 — 하필 크롤러가 그 순간 렌더하면 스타일 없는 **규칙: `solution/site` 를 배포하면 반드시 전체 재굽기 + 전체 재업로드.** ```bash -docker compose restart solution-prerender # 기동하며 전체 재굽기 +docker compose restart solution-frontend # 기동하며 전체 재굽기 docker compose logs -f solution-frontend # "[watch] 기동" 배치가 끝날 때까지 대기 docker compose exec solution-worker python scripts/republish_all.py ``` @@ -225,5 +225,5 @@ docker compose exec solution-worker python scripts/republish_all.py ## 5. 되돌리기 `out/` 은 재생성물이라 백업이 필요 없다. 문제가 생기면 -`docker compose restart solution-prerender` → 전체 재굽기 → `republish_all.py`. +`docker compose restart solution-frontend` → 전체 재굽기 → `republish_all.py`. 지켜야 할 건 **DB 와 `out/payloads/`** 뿐이다. diff --git a/docs/DEVLOG.md b/docs/DEVLOG.md index 2c42df4..234c61f 100644 --- a/docs/DEVLOG.md +++ b/docs/DEVLOG.md @@ -23,7 +23,7 @@ - 대장에 없는 파일은 지우지 않고 **"지금 처음 본 것" 으로 입양해** 보관 기간을 새로 준다 - 규칙으로 굳혀 둔다: **"기록이 없다" 와 "만료됐다" 를 같이 묶지 않는다**(AGENTS.md 함정 목록) -**복구** — `docker compose restart solution-prerender` (기동하며 전체 재굽기 → HTML 이 새 해시를 +**복구** — `docker compose restart solution-frontend` (기동하며 전체 재굽기 → HTML 이 새 해시를 가리킨다). 자산을 되살리는 게 아니라 HTML 을 새로 굽는 쪽이 빠르다. **검증** — 배포 직전 상태를 재현: `out/assets` 에 옛 해시 파일만 두고 대장 없이 첫 실행 →