diff --git a/.woodpecker.yml b/.woodpecker.yml index ae58b23..cb1ed94 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -12,11 +12,9 @@ steps: 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; } - docker exec "$CONTAINER_ID" sh -c "grep -q 'Keith Casko' /usr/share/nginx/html/index.html" || { echo "Port 8091 container does not look like casko.dev"; exit 1; } - docker cp index.html "$CONTAINER_ID":/usr/share/nginx/html/index.html - docker cp homelab.html "$CONTAINER_ID":/usr/share/nginx/html/homelab.html - docker cp css "$CONTAINER_ID":/usr/share/nginx/html/ - docker cp js "$CONTAINER_ID":/usr/share/nginx/html/ - docker cp assets "$CONTAINER_ID":/usr/share/nginx/html/ + 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 casko.dev container $CONTAINER_ID" \ No newline at end of file + echo "Deployed commit $CI_COMMIT_SHA to $HOST_SITE via container $CONTAINER_ID" \ No newline at end of file