fix(docker): bundle only V3 plugins

This commit is contained in:
moviepilot-codex[bot]
2026-09-21 21:43:43 +08:00
parent 36e2e42fda
commit 79b1aec17e
2 changed files with 8 additions and 7 deletions

View File

@@ -231,13 +231,7 @@ RUN set -eu; \
plugin_root="$(find /tmp/plugins-src -mindepth 1 -maxdepth 1 -type d -print -quit)"; \
test -n "${plugin_root}"; \
mkdir -p /plugins; \
cp -a "${plugin_root}/plugins.v2/." /plugins/; \
jq -r 'to_entries[] | select(.value.v2 == true) | .key' "${plugin_root}/package.json" | awk '{print tolower($0)}' | \
while read -r plugin_id; do \
if [ ! -d "/plugins/${plugin_id}" ]; then \
cp -a "${plugin_root}/plugins/${plugin_id}" /plugins/; \
fi; \
done
cp -a "${plugin_root}/plugins.v3/." /plugins/
# 准备站点资源

View File

@@ -84,6 +84,13 @@ def test_dockerfile_assigns_each_payload_to_an_independent_stage() -> None:
assert final.count("COPY --from=ffmpeg ") == 1
assert "RUN rm -rf /app/frontend-dist" in dockerfile
plugin_stage_start = dockerfile.index("FROM prepare_payload AS prepare_plugins")
plugin_stage_end = dockerfile.index("# 准备站点资源", plugin_stage_start)
plugin_stage = dockerfile[plugin_stage_start:plugin_stage_end]
assert 'cp -a "${plugin_root}/plugins.v3/." /plugins/' in plugin_stage
assert "plugins.v2" not in plugin_stage
assert '"${plugin_root}/package.json"' not in plugin_stage
def test_plugin_runtime_updates_preserve_host_entrypoint() -> None:
"""更新载荷只迁移插件内容,不得覆盖新版宿主包根兼容入口。"""