meta(wiki): runbook — offline-cache fixed by 5c583f8 (supportedArchitectures), yarn install replenished cache
This commit is contained in:
@@ -38,7 +38,7 @@ docker build -f packages/web/Dockerfile -t docker.stostayer.ru/stostayer-web:<ta
|
||||
- **`.dockerignore` обязателен** (его нет в репо) — иначе `node_modules`/`.git` улетают в build-контекст. Создать временный: `node_modules **/node_modules .git apps docs build *.zip` и т.п. (на явные `COPY` не влияет).
|
||||
- **Локальная `npmAuthToken: "${VERDACCIO_TOKEN}"` в `.yarnrc.yml`** (рабочая модификация, не в коммите) **ломает build**: yarn внутри образа падает `Usage Error: Environment variable not found (VERDACCIO_TOKEN)`. Убрать эту строку из build-копии (потом вернуть).
|
||||
- **Offline против `.yarn/cache`:** добавить `enableNetwork: false` в `.yarnrc.yml` — depы пекутся из cache, verdaccio-токен в образе не нужен. (Cache содержит third-party зипы; их версии ESM-миграция не меняла, так что cache от master-tip обычно покрывает и более старые коммиты.)
|
||||
- **⚠️ Offline НЕ всегда проходит (2026-08-13, 0.3.23):** в `.yarn/cache` с Windows-хоста НЕТ linux-бинарей `@esbuild/linux-x64` и `@rollup/rollup-linux-x64-gnu` → yarn с `enableNetwork:false` падает, а с сетью — `YN0041 Invalid authentication (as an anonymous user)` (verdaccio требует токен). Рабочий обход: временно вернуть `npmAuthToken: "${VERDACCIO_TOKEN}"` в build-копию `.yarnrc.yml` + временно добавить в `packages/web/Dockerfile` `ARG VERDACCIO_TOKEN` / `ENV VERDACCIO_TOKEN=$VERDACCIO_TOKEN` перед `RUN yarn install`, собрать `docker build --build-arg VERDACCIO_TOKEN="$VERDACCIO_TOKEN"`, после build — `git checkout -- .yarnrc.yml packages/web/Dockerfile`. Альтернатива на будущее: докинуть 2 linux-зипа в `.yarn/cache`.
|
||||
- **✅ Offline-кэш ПОЧИНЕН (2026-08-13, коммит `5c583f8`):** в `.yarnrc.yml` добавлен `supportedArchitectures: {cpu:[x64], os:[linux,win32,darwin], libc:[glibc,musl]}` — раньше без `libc` yarn пропускал fetch `@rollup/rollup-linux-x64-gnu` (условие libc=glibc). `.yarn/cache` gitignored → один раз на build-машине прогнать сетевой `yarn install` (с `VERDACCIO_TOKEN`) — yarn дольёт `@esbuild/linux-x64`/`@rollup/rollup-linux-x64-gnu` в локальный кэш, дальше offline (`enableNetwork:false`) работает. Сделано 2026-08-13 на этой машине (зипы в кэше).
|
||||
|
||||
### 2. Push в registry
|
||||
|
||||
|
||||
Reference in New Issue
Block a user