mirror of
https://github.com/halfwaystudent/douyin-sparkflow.git
synced 2026-09-07 16:37:09 +08:00
fix: provision Node runtime in server image
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
.pytest_cache/
|
||||
.ruff_cache/
|
||||
.git/
|
||||
.github/
|
||||
tests/
|
||||
logs/
|
||||
config.json
|
||||
usersData.json
|
||||
webui_settings.json
|
||||
*.log
|
||||
@@ -1,6 +1,10 @@
|
||||
ARG PLAYWRIGHT_BASE_IMAGE=mcr.microsoft.com/playwright/python:v1.56.0-jammy
|
||||
ARG NODE_RUNTIME_IMAGE=node:22-bookworm-slim
|
||||
FROM ${NODE_RUNTIME_IMAGE} AS node-runtime
|
||||
FROM ${PLAYWRIGHT_BASE_IMAGE}
|
||||
|
||||
COPY --from=node-runtime /usr/local/bin/node /usr/local/bin/node
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
ARG HTTP_PROXY
|
||||
|
||||
@@ -88,11 +88,18 @@ class DeploymentContractTests(unittest.TestCase):
|
||||
def test_playwright_base_image_argument_is_used(self):
|
||||
dockerfile = (SOURCE_ROOT / "Dockerfile.server").read_text(encoding="utf-8")
|
||||
self.assertTrue(dockerfile.startswith("ARG PLAYWRIGHT_BASE_IMAGE="))
|
||||
self.assertIn("FROM ${NODE_RUNTIME_IMAGE} AS node-runtime", dockerfile)
|
||||
self.assertIn("FROM ${PLAYWRIGHT_BASE_IMAGE}", dockerfile)
|
||||
self.assertIn("COPY --from=node-runtime /usr/local/bin/node", dockerfile)
|
||||
self.assertIn("docker.io", dockerfile)
|
||||
self.assertIn("node --version", dockerfile)
|
||||
self.assertNotIn("github.com/docker/compose", dockerfile)
|
||||
|
||||
def test_docker_build_context_excludes_runtime_data(self):
|
||||
dockerignore = (SOURCE_ROOT / ".dockerignore").read_text(encoding="utf-8")
|
||||
for entry in ("logs/", "config.json", "usersData.json", "webui_settings.json"):
|
||||
self.assertIn(entry, dockerignore)
|
||||
|
||||
def test_legacy_unused_entrypoints_are_removed(self):
|
||||
self.assertFalse((SOURCE_ROOT / "webui" / "login_sessions.py").exists())
|
||||
self.assertFalse((SOURCE_ROOT / "relogin_worker.py").exists())
|
||||
|
||||
Reference in New Issue
Block a user