Commit b509b08d52
Unsigned
Layout: unified · split
.gitlab-ci.yml +5 −2
| @@ -8,16 +8,17 @@ build-job: | ||
| 8 | 8 | stage: build |
| 9 | 9 | script: |
| 10 | 10 | - echo "Environment is ready. Running build..." |
| 11 | - ENV=prod uv run build.py <<< "r" | |
| 11 | - ENV=prod SKIP_DEPLOY=true uv run build.py <<< "r" | |
| 12 | 12 | artifacts: |
| 13 | 13 | paths: |
| 14 | 14 | - .build/ |
| 15 | 15 | |
| 16 | 16 | deploy-job: |
| 17 | 17 | stage: deploy |
| 18 | dependencies: | |
| 19 | - build-job | |
| 18 | 20 | script: |
| 19 | 21 | - mkdir -p $HOME/.ssh |
| 20 | - chmod 700 $HOME/.ssh | |
| 21 | 22 | - ssh-keyscan -p 2169 $SERVER_IP >> $HOME/.ssh/known_hosts |
| 22 | 23 | - | |
| 23 | 24 | echo "Host homelab-remote |
| @@ -25,5 +26,7 @@ deploy-job: | ||
| 25 | 26 | User $SERVER_USER |
| 26 | 27 | Port 2169" > $HOME/.ssh/config |
| 27 | 28 | - chmod 600 $HOME/.ssh/config |
| 29 | - eval $(ssh-agent -s) | |
| 30 | - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - | |
| 28 | 31 | - echo "Deploying via Python script..." |
| 29 | 32 | - ENV=prod uv run build.py <<< "r" |
build.py +6 −1
| @@ -352,6 +352,8 @@ def main(): | ||
| 352 | 352 | css_min = theme_dir / "styles.min.css" |
| 353 | 353 | |
| 354 | 354 | env = os.environ.get("ENV", "").casefold() |
| 355 | skip_deploy = os.environ.get("SKIP_DEPLOY", "").casefold() == "true" | |
| 356 | ||
| 355 | 357 | if env == "prod": |
| 356 | 358 | print("Environment: Production") |
| 357 | 359 | method = prompt("Publishing on remote or LAN? [r|l] ").lower() |
| @@ -382,7 +384,10 @@ def main(): | ||
| 382 | 384 | generate_sitemap() |
| 383 | 385 | |
| 384 | 386 | # Deploy changes |
| 385 | deploy_to_server(build_dir, homelab_server) | |
| 387 | if not skip_deploy: | |
| 388 | deploy_to_server(build_dir, homelab_server) | |
| 389 | else: | |
| 390 | print("SKIP_DEPLOY is true. Skipping rsync step.") | |
| 386 | 391 | |
| 387 | 392 | else: |
| 388 | 393 | print("Environment: Development") |