1 changed files with 66 additions and 0 deletions
@ -0,0 +1,66 @@ |
|||
#!/bin/bash |
|||
|
|||
set -Eeuo pipefail |
|||
|
|||
declare -a exit_hooks=() |
|||
function cleanup () { |
|||
for hook in "${exit_hooks[@]}"; do |
|||
echo "Running cleanup hook: $hook" |
|||
eval "$hook" |
|||
done |
|||
} |
|||
trap "cleanup" EXIT |
|||
function addExitHook () { |
|||
exit_hooks+=("$1") |
|||
} |
|||
|
|||
DEST="$(mktemp -d -t 'hugo-href-check.XXXXXX')" |
|||
addExitHook "rm -rf \$DEST" |
|||
echo "All artefacts will be generated in $DEST" |
|||
|
|||
#echo "Generating and serving content..." |
|||
#./hugo serve -p 1313 -b http://localhost:1313/ --disableLiveReload --disableBrowserError --watch false --logLevel info --quiet --appendPort false &>"$DEST/hugo.log" & |
|||
#addExitHook "pkill -e --ignore-ancestors --full '^hugo'" |
|||
|
|||
echo "Generating content..." |
|||
mkdir -p "$DEST/html" "$DEST/nginx" |
|||
./hugo -b http://localhost:1313/ -d "$DEST/html" |
|||
|
|||
echo "Serving content with nginx..." |
|||
cat > "$DEST/nginx.conf" <<EOF |
|||
worker_processes auto; |
|||
error_log $DEST/nginx/error.log notice; |
|||
pid $DEST/nginx/nginx.pid; |
|||
|
|||
events { |
|||
worker_connections 1024; |
|||
} |
|||
http { |
|||
client_body_temp_path $DEST/nginx/client_temp; |
|||
proxy_temp_path $DEST/nginx/proxy_temp_path; |
|||
fastcgi_temp_path $DEST/nginx/fastcgi_temp; |
|||
uwsgi_temp_path $DEST/nginx/uwsgi_temp; |
|||
scgi_temp_path $DEST/nginx/scgi_temp; |
|||
error_log $DEST/nginx/error.log; |
|||
log_format main '\$remote_addr - \$remote_user [\$time_local] "\$request" \$status \$body_bytes_sent "\$http_referer" "\$http_user_agent" "\$http_x_forwarded_for"'; |
|||
access_log $DEST/nginx/access.log main; |
|||
include /etc/nginx/mime.types; |
|||
default_type application/octet-stream; |
|||
server { |
|||
listen 1313; |
|||
server_name _; |
|||
root $DEST/html; |
|||
} |
|||
} |
|||
EOF |
|||
nginx -e stderr -c "$DEST/nginx.conf" -g "daemon off;" & |
|||
addExitHook 'if [ -n "$(jobs -rp)" ]; then kill $(jobs -rp); fi' |
|||
|
|||
while ! curl -o /dev/null -sf http://localhost:1313/; do |
|||
echo "Waiting for nginx to start..." |
|||
sleep 1 |
|||
done |
|||
|
|||
echo "Starting web spider..." |
|||
cd "$DEST" |
|||
muffet -i 'http://localhost:1313/.*' --accepted-status-codes=200 --max-redirections=0 http://localhost:1313/ |
|||
Loading…
Reference in new issue