fix(chv-guest): 浏览器装系统路径(B-22)
Round 7 构建本身成功,但 BUILDINFO.versions.chromium 为空: virt-customize 的客机 shell 里 HOME=/,Playwright 默认缓存 ~/.cache/ms-playwright 落到根目录 /.cache(实测浏览器在 /.cache/ms-playwright/chromium_headless_shell-1248),而 build.sh 读的是 /root/.cache/ms-playwright(不存在),ls 读回 空文件;buildinfo.py 当时不校验 chromium 非空,静默放过, 事后 check_lockfile / generate --verify 兜底报未覆盖(exit 1)。 改:安装与读回都走 PLAYWRIGHT_BROWSERS_PATH= /usr/local/share/ms-playwright(agent 运行时也须设同一变量, 否则 chv 用户在家目录找不到浏览器);buildinfo.py 加 playwright_browsers_path 字段,并校验 playwright=1 时 versions.chromium 非空;README 同步。
This commit is contained in:
1 parent
4c8e4eac7b
commit
dcb0824f78
3 files changed
+22
-4
No files matched your search
+11
-3
@@ -210,6 +210,14 @@ run qemu-img convert -f qcow2 -O raw "$IMG" "$OUT/disk.raw"
|
||||
# (git 的 Recommends,agent 任务可能要 ssh 出站)。
|
||||
# apt-get clean 只清 .deb 缓存、不动 lists(playwright
|
||||
# --with-deps 稍后还要 apt 装浏览器依赖);lists 在最后一步清。
|
||||
# B-22:virt-customize 的客机 shell 里 HOME=/,Playwright 默认
|
||||
# 缓存路径 ~/.cache/ms-playwright 会落到根目录 /.cache(round 7
|
||||
# 实测:浏览器装在 /.cache/ms-playwright/chromium_headless_shell-1248,
|
||||
# /root/.cache 根本不存在,ls 读回空文件、BUILDINFO.versions.chromium
|
||||
# 为空,check_lockfile 兜底报未覆盖)。改走系统路径
|
||||
# PLAYWRIGHT_BROWSERS_PATH=/usr/local/share/ms-playwright:构建时
|
||||
# 装这里、读回这里;运行时 agent 也须设同一变量,否则 chv 用户
|
||||
# 会在自己家目录下找不到浏览器。
|
||||
# Playwright 默认开启(PLAYWRIGHT=0 可显式关掉),浏览器只装
|
||||
# chromium-headless-shell(不要完整 Chromium)。单次
|
||||
# virt-customize:apt 安装、pip、拷入、sshd 加固、git 占位、
|
||||
@@ -217,7 +225,7 @@ run qemu-img convert -f qcow2 -O raw "$IMG" "$OUT/disk.raw"
|
||||
# Playwright 装在第一次 freeze 之后、最终 freeze 之前(B-08:
|
||||
# 最终 freeze 须在 Playwright 安装之后,否则
|
||||
# BUILDINFO.versions.pip 里没有 playwright;Chromium 版本以
|
||||
# ms-playwright 缓存目录名记录(如 chromium_headless_shell-1181),
|
||||
# ms-playwright 缓存目录名记录(如 chromium_headless_shell-1248),
|
||||
# 写进 /app/guest-versions-chromium.txt)。
|
||||
GT_INSTALL_CMD="curl -fsSL -o /tmp/gt-install.sh https://gitea.com/gitea/cli/raw/branch/main/scripts/install.sh && echo \"${GT_INSTALL_SH_SHA256} /tmp/gt-install.sh\" | sha256sum -c - && GITEA_CLI_VERSION=${GT_VERSION} GITEA_CLI_INSTALL_DIR=/usr/local/bin sh /tmp/gt-install.sh && rm -f /tmp/gt-install.sh && /usr/local/bin/gt version"
|
||||
VC_ARGS=(-a "$OUT/disk.raw"
|
||||
@@ -240,9 +248,9 @@ VC_ARGS=(-a "$OUT/disk.raw"
|
||||
--run-command 'dpkg-query -W -f "\${Package} \${Version}\n" > /app/guest-versions-dpkg.txt; pip3 freeze > /app/guest-versions-pip.txt || true')
|
||||
if [ "${PLAYWRIGHT:-1}" = "1" ]; then
|
||||
VC_ARGS+=(
|
||||
--run-command '(pip3 install --no-cache-dir --break-system-packages playwright || pip3 install --no-cache-dir playwright) && python3 -m playwright install --with-deps chromium-headless-shell'
|
||||
--run-command '(pip3 install --no-cache-dir --break-system-packages playwright || pip3 install --no-cache-dir playwright) && PLAYWRIGHT_BROWSERS_PATH=/usr/local/share/ms-playwright python3 -m playwright install --with-deps chromium-headless-shell'
|
||||
--run-command 'dpkg-query -W -f "\${Package} \${Version}\n" > /app/guest-versions-dpkg.txt; pip3 freeze > /app/guest-versions-pip.txt || true'
|
||||
--run-command 'ls /root/.cache/ms-playwright/ > /app/guest-versions-chromium.txt 2>/dev/null || true')
|
||||
--run-command 'ls /usr/local/share/ms-playwright/ > /app/guest-versions-chromium.txt 2>/dev/null || true')
|
||||
fi
|
||||
# B-21 收尾:清掉两轮 apt 的缓存与 lists(--with-deps 装完后
|
||||
# 不再有 apt 活动),把空间还给镜像。
|
||||
|
||||
Reference in new issue
Block a user