Files
Keith Casko 565fb8e6dd
ci/woodpecker/push/woodpecker Pipeline was successful
Deploy through portfolio host mount
2026-10-06 01:01:14 -04:00

20 lines
1.0 KiB
YAML

when:
branch: master
event: push
steps:
deploy:
image: docker:cli
volumes:
- /var/run/docker.sock:/var/run/docker.sock
commands:
- |
set -eu
CONTAINER_ID="$(docker ps --filter publish=8091 --format '{{.ID}}' | head -n 1)"
test -n "$CONTAINER_ID" || { echo "No running portfolio container found on port 8091"; exit 1; }
HOST_SITE="$(docker inspect "$CONTAINER_ID" --format '{{range .Mounts}}{{if eq .Destination "/usr/share/nginx/html"}}{{.Source}}{{end}}{{end}}')"
test -n "$HOST_SITE" || { echo "Could not resolve portfolio host webroot"; exit 1; }
docker run --rm -v "$HOST_SITE":/target:ro alpine:3.20 sh -c "grep -q 'Keith Casko' /target/index.html" || { echo "Resolved host path does not look like casko.dev"; exit 1; }
tar -cf - index.html homelab.html css js assets | docker run --rm -i -v "$HOST_SITE":/target alpine:3.20 sh -c 'cd /target && tar xf -'
docker restart "$CONTAINER_ID"
echo "Deployed commit $CI_COMMIT_SHA to $HOST_SITE via container $CONTAINER_ID"