项目代码提交
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
"""Build a source deployment archive; private config files and SQL dumps are excluded."""
|
||||
from pathlib import Path
|
||||
import tarfile
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
DIRECTORIES = ["api", "dao", "model", "schema", "service", "frontend", "knowledge", "deploy"]
|
||||
FILES = [
|
||||
"Dockerfile", ".dockerignore", "requirements.txt", "compose.cloud.yaml",
|
||||
"main.py", "database.py", "init_db.py", "seed_data.py", "云端部署说明.md",
|
||||
"scripts/prepare_cloud_env.py", "scripts/restore_cloud_database.py", "scripts/verify_cloud_https.py",
|
||||
"scripts/configure_cloud_ai.py",
|
||||
]
|
||||
|
||||
|
||||
def main():
|
||||
output = ROOT / "artifacts" / "wolin-cloud-deployment.tar.gz"
|
||||
output.parent.mkdir(parents=True, exist_ok=True)
|
||||
if not (ROOT / "deploy/site/blackjack/index.html").is_file():
|
||||
raise SystemExit("The preserved game build is missing; package it before deploying.")
|
||||
paths = [ROOT / name for name in FILES]
|
||||
for directory in DIRECTORIES:
|
||||
paths.extend(path for path in (ROOT / directory).rglob("*") if path.is_file()
|
||||
and "__pycache__" not in path.parts and path.suffix != ".pyc")
|
||||
with tarfile.open(output, "w:gz") as archive:
|
||||
for path in sorted(paths):
|
||||
archive.add(path, arcname=path.relative_to(ROOT).as_posix(), recursive=False)
|
||||
print("Deployment archive (private configuration files and SQL dumps excluded):", output)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user