aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-02-10 13:11:25 -0600
committerChristian Cleberg <[email protected]>2026-02-10 13:11:25 -0600
commitb509b08d520142d69de1ad0a1b9ec68f771dd9ab (patch)
tree2f406308619b033390be072e19e69da949580010
parent1c626b1339afa9b1226ddffaeddf0c5b39a03e92 (diff)
downloadcleberg.net-b509b08d520142d69de1ad0a1b9ec68f771dd9ab.tar.gz
cleberg.net-b509b08d520142d69de1ad0a1b9ec68f771dd9ab.tar.bz2
cleberg.net-b509b08d520142d69de1ad0a1b9ec68f771dd9ab.zip
split build and deploy steps in python script
-rw-r--r--.gitlab-ci.yml7
-rw-r--r--build.py7
2 files changed, 11 insertions, 3 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 34af04b..0a24814 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -8,16 +8,17 @@ build-job:
stage: build
script:
- echo "Environment is ready. Running build..."
- - ENV=prod uv run build.py <<< "r"
+ - ENV=prod SKIP_DEPLOY=true uv run build.py <<< "r"
artifacts:
paths:
- .build/
deploy-job:
stage: deploy
+ dependencies:
+ - build-job
script:
- mkdir -p $HOME/.ssh
- - chmod 700 $HOME/.ssh
- ssh-keyscan -p 2169 $SERVER_IP >> $HOME/.ssh/known_hosts
- |
echo "Host homelab-remote
@@ -25,5 +26,7 @@ deploy-job:
User $SERVER_USER
Port 2169" > $HOME/.ssh/config
- chmod 600 $HOME/.ssh/config
+ - eval $(ssh-agent -s)
+ - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
- echo "Deploying via Python script..."
- ENV=prod uv run build.py <<< "r"
diff --git a/build.py b/build.py
index 3e9affd..7b19123 100644
--- a/build.py
+++ b/build.py
@@ -352,6 +352,8 @@ def main():
css_min = theme_dir / "styles.min.css"
env = os.environ.get("ENV", "").casefold()
+ skip_deploy = os.environ.get("SKIP_DEPLOY", "").casefold() == "true"
+
if env == "prod":
print("Environment: Production")
method = prompt("Publishing on remote or LAN? [r|l] ").lower()
@@ -382,7 +384,10 @@ def main():
generate_sitemap()
# Deploy changes
- deploy_to_server(build_dir, homelab_server)
+ if not skip_deploy:
+ deploy_to_server(build_dir, homelab_server)
+ else:
+ print("SKIP_DEPLOY is true. Skipping rsync step.")
else:
print("Environment: Development")