aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xroles/git/files/runner-zola/webhook.sh33
1 files changed, 7 insertions, 26 deletions
diff --git a/roles/git/files/runner-zola/webhook.sh b/roles/git/files/runner-zola/webhook.sh
index b874233..b009c63 100755
--- a/roles/git/files/runner-zola/webhook.sh
+++ b/roles/git/files/runner-zola/webhook.sh
@@ -4,8 +4,8 @@
# The webhook allows to pass an optional ref as url path.
#
# Examples:
-# curl <host> ; Will deploy main ref
-# curl <host>/blub ; Will deploy blub ref
+# curl <host> ; Will deploy origin/main ref
+# curl <host>/blub ; Will deploy origin/blub ref
while true; do
echo "Wait for webhook trigger ..."
@@ -15,34 +15,15 @@ while true; do
# GET /blub HTTP/1.1
REF=$(echo -e "HTTP/1.0 204 No Content\r\nConnection: close\r\n\r" | nc -l -p 80 | awk '/GET/ { print $2; }' | tr -d '/')
# If we got a ref use it else default to main.
- REF=${REF:-main}
+ REF=origin/${REF:-main}
if [ ! -d blog ]; then
- # Use non-redirected port to clone repository as the runner executes on
- # the same machine as the webserver.
- #
- # We use a NAT:PREROUTING chain to implement the redirection (dnat).
- # However as described by the netfilter packet flow and the connection
- # tracking system (CONNTRACK), the NAT hooks are only traversed for NEW
- # connections.
- # For packages originating from the local machine, the connection will
- # be seen as NEW by the CONNTRACK system on the OUTPUT path and hence
- # the NAT:OUTPUT hooks will be traversed.
- # Once the package is looped-back and arrives at the PREROUTING path,
- # the NAT:PREROUTING rules wont be traversed as the package is already
- # known to the CONNTRACK system (not NEW).
- #
- # We could additionally implement dnat for lo interface on the OUTPUT
- # path as described here, but we dont do it and just use the actual
- # port here :^)
- # https://unix.stackexchange.com/questions/618229/nftables-destination-nat-block-local-access-to-port
- git clone https://git.memzero.de:8443/blog
+ # Clone through podman network.
+ git clone http://cgito/blog
fi
- git -C blog submodule init
- git -C blog submodule update
git -C blog fetch --prune
- echo "Checking out ref: $REF"
- git -C blog checkout $REF || continue
+ echo "Checking out & deploying ref: $REF"
+ git -C blog checkout --quiet $REF || continue
zola --root blog build || continue