From 9f58febe210b2169ae9687c16cedc909f04c4694 Mon Sep 17 00:00:00 2001 From: Jaakko Vanhala Date: Sat, 11 Apr 2026 18:03:53 +0300 Subject: [PATCH] =?UTF-8?q?Deploy-putki:=20Windows-build=20+=20automaattin?= =?UTF-8?q?en=20bin=C3=A4=C3=A4rik=C3=A4=C3=A4nn=C3=B6s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit build-binaries.sh: lisätty Windows x86_64 (mingw-w64) neljänneksi kohteeksi. deploy.sh: binäärit käännetään automaattisesti ennen Docker-buildia, jolloin ne päätyvät Astron kautta kipina.studioon. Co-Authored-By: Claude Opus 4.6 (1M context) --- network-poc/build-binaries.sh | 15 ++++++++++++--- network-poc/deploy.sh | 22 +++++++++++++--------- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/network-poc/build-binaries.sh b/network-poc/build-binaries.sh index 06a44b5..ac0ba42 100755 --- a/network-poc/build-binaries.sh +++ b/network-poc/build-binaries.sh @@ -9,14 +9,14 @@ mkdir -p "$OUT" echo "=== Kipinä Node — Binary Build ===" # macOS ARM (natiivi) -echo "[1/3] macOS ARM64..." +echo "[1/4] macOS ARM64..." cd "$SCRIPT_DIR" cargo build --release -p native-node --no-default-features 2>&1 | tail -1 cp target/release/native-node "$OUT/kipina-node-macos-arm64" echo " $(ls -lh "$OUT/kipina-node-macos-arm64" | awk '{print $5}')" # Linux x86_64 (Docker) -echo "[2/3] Linux x86_64..." +echo "[2/4] Linux x86_64..." docker run --rm \ -v "$SCRIPT_DIR":/app -w /app \ --platform linux/amd64 \ @@ -25,7 +25,7 @@ docker run --rm \ echo " $(ls -lh "$OUT/kipina-node-linux-x86_64" | awk '{print $5}')" # Linux ARM64 (Docker) -echo "[3/3] Linux ARM64..." +echo "[3/4] Linux ARM64..." docker run --rm \ -v "$SCRIPT_DIR":/app -w /app \ --platform linux/arm64 \ @@ -33,6 +33,15 @@ docker run --rm \ bash -c "apt-get update -qq && apt-get install -y -qq pkg-config libssl-dev >/dev/null 2>&1 && cargo build --release -p native-node --no-default-features 2>&1 | tail -1 && cp target/release/native-node /app/frontend/public/download/kipina-node-linux-arm64" echo " $(ls -lh "$OUT/kipina-node-linux-arm64" | awk '{print $5}')" +# Windows x86_64 (Docker + mingw-w64) +echo "[4/4] Windows x86_64..." +docker run --rm \ + -v "$SCRIPT_DIR":/app -w /app \ + --platform linux/amd64 \ + rust:slim \ + bash -c "apt-get update -qq && apt-get install -y -qq gcc-mingw-w64-x86-64 pkg-config libssl-dev >/dev/null 2>&1 && rustup target add x86_64-pc-windows-gnu && cargo build --release -p native-node --no-default-features --target x86_64-pc-windows-gnu 2>&1 | tail -1 && cp target/x86_64-pc-windows-gnu/release/native-node.exe /app/frontend/public/download/kipina-node-windows-x86_64.exe" +echo " $(ls -lh "$OUT/kipina-node-windows-x86_64.exe" | awk '{print $5}')" + echo "" echo "=== Binäärit valmiina ===" ls -lh "$OUT"/kipina-node-* diff --git a/network-poc/deploy.sh b/network-poc/deploy.sh index 04814dc..107065d 100755 --- a/network-poc/deploy.sh +++ b/network-poc/deploy.sh @@ -35,25 +35,29 @@ if ! git -C "$SCRIPT_DIR" diff --quiet HEAD 2>/dev/null || \ echo " Commitoitu: $DEPLOY_MSG" fi -# 1. Rakennetaan Docker-image lokaalisti -echo "[1/4] Rakennetaan image lokaalisti..." +# 1. Käännetään native-node-binäärit kaikille alustoille +echo "[1/6] Käännetään native-node-binäärit..." +./build-binaries.sh + +# 2. Rakennetaan Docker-image lokaalisti +echo "[2/6] Rakennetaan image lokaalisti..." docker build --platform linux/amd64 -f Dockerfile.prod -t kipina-agentic:latest . -# 2. Tallennetaan tiedostoon -echo "[2/5] Pakataan image..." +# 3. Tallennetaan tiedostoon +echo "[3/6] Pakataan image..." docker save kipina-agentic:latest | gzip > /tmp/kipina-agentic.tar.gz echo " Koko: $(du -h /tmp/kipina-agentic.tar.gz | cut -f1)" -# 3. Siirretään palvelimelle -echo "[3/5] Siirretään palvelimelle..." +# 4. Siirretään palvelimelle +echo "[4/6] Siirretään palvelimelle..." scp $SSH_OPTS /tmp/kipina-agentic.tar.gz $SERVER:/tmp/ scp $SSH_OPTS docker-compose.prod.yml Caddyfile.prod $SERVER:$REMOTE_DIR/ -# 4. Ladataan image ja käynnistetään -echo "[4/5] Ladataan image palvelimella..." +# 5. Ladataan image ja käynnistetään +echo "[5/6] Ladataan image palvelimella..." ssh $SSH_OPTS $SERVER "gunzip -c /tmp/kipina-agentic.tar.gz | docker load && rm /tmp/kipina-agentic.tar.gz" -echo "[5/5] Käynnistetään palvelut uudelleen..." +echo "[6/6] Käynnistetään palvelut uudelleen..." ssh $SSH_OPTS $SERVER "cd $REMOTE_DIR && docker compose -f docker-compose.prod.yml down && docker compose -f docker-compose.prod.yml up -d" echo "=== Valmis! https://kipina.studio ==="