diff options
| -rwxr-xr-x | deploy/cloudflare.sh | 41 | ||||
| -rw-r--r-- | wrangler.toml | 12 |
2 files changed, 53 insertions, 0 deletions
diff --git a/deploy/cloudflare.sh b/deploy/cloudflare.sh new file mode 100755 index 0000000..d64325f --- /dev/null +++ b/deploy/cloudflare.sh @@ -0,0 +1,41 @@ +#!/bin/sh +# Baut die Browserfassung und schiebt sie zu Cloudflare Workers (README § 15). +# +# 1. ./mvnw -Pwasm package — erzeugt target/web und lässt deploy/webpaket.sh darüber +# laufen (wasm-opt, Quelltext-Tarball, 25-MiB-Prüfung). Bricht bei uneingecheckten +# Änderungen ab, denn der beigelegte Quelltext muss der gebaute sein. +# 2. wrangler deploy — lädt target/web nach wrangler.toml hoch. +# +# JAVA_HOME muss auf Oracle GraalVM 25.1 oder neuer zeigen; ist es nicht gesetzt, wird +# /Library/Java/JavaVirtualMachines/graalvm-25.jdk genommen. +# +# Aufruf: deploy/cloudflare.sh [--nur-bauen | --nur-hochladen] + +set -eu + +wurzel="$(CDPATH='' cd -- "$(dirname -- "$0")/.." && pwd)" +cd "$wurzel" + +: "${JAVA_HOME:=/Library/Java/JavaVirtualMachines/graalvm-25.jdk/Contents/Home}" +export JAVA_HOME + +bauen=1 +hochladen=1 +case "${1:-}" in + --nur-bauen) hochladen=0 ;; + --nur-hochladen) bauen=0 ;; + '') ;; + *) echo "cloudflare: unbekannte Angabe „$1“ (--nur-bauen | --nur-hochladen)" >&2; exit 2 ;; +esac + +if [ "$bauen" = 1 ]; then + ./mvnw -Pwasm package +fi + +if [ "$hochladen" = 1 ]; then + if command -v wrangler >/dev/null 2>&1; then + wrangler deploy + else + npx --yes wrangler deploy + fi +fi diff --git a/wrangler.toml b/wrangler.toml new file mode 100644 index 0000000..3647802 --- /dev/null +++ b/wrangler.toml @@ -0,0 +1,12 @@ +# Auslieferung über Cloudflare Workers (README § 15). Der Worker führt keinen eigenen +# Code aus: hochgeladen wird allein das Verzeichnis target/web, das `-Pwasm package` +# erzeugt und deploy/webpaket.sh auslieferfertig hinterlässt. +# +# Nicht zu verwechseln ist der Cloudflare-Worker mit target/web/worker.js — letzterer ist +# ein Web Worker des Browsers und für Cloudflare nur eine statische Datei unter vielen. + +name = "aendggner" +compatibility_date = "2026-08-22" + +[assets] +directory = "./target/web" |
