From 759915eb01fbd2eedb3c2739972820a417ce718a Mon Sep 17 00:00:00 2001 From: posimai Date: Thu, 2 Apr 2026 19:34:51 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20add=20deploy-dev.sh=20=E2=80=94=20scp?= =?UTF-8?q?=20+=20restart=20bypasses=20Syncthing=20lag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 9 ++++++++ scripts/deploy-dev.sh | 54 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 package.json create mode 100644 scripts/deploy-dev.sh diff --git a/package.json b/package.json new file mode 100644 index 00000000..48aa671c --- /dev/null +++ b/package.json @@ -0,0 +1,9 @@ +{ + "name": "posimai-root", + "private": true, + "scripts": { + "deploy": "git push gitea main && git push github main", + "deploy:dev": "bash scripts/deploy-dev.sh", + "deploy:vps": "bash deploy-server.sh" + } +} diff --git a/scripts/deploy-dev.sh b/scripts/deploy-dev.sh new file mode 100644 index 00000000..76cdc26d --- /dev/null +++ b/scripts/deploy-dev.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash +# ============================================ +# posimai-dev — Ubuntu PC デプロイスクリプト +# 使い方: bash scripts/deploy-dev.sh +# +# やること: +# 1. git push (gitea + github) +# 2. scp で変更ファイルを Ubuntu PC に直接転送 +# (Syncthing の同期待ちを回避) +# 3. sudo systemctl restart posimai-dev +# ============================================ +set -e + +UBUNTU_PC="posimai-pc" +REMOTE_DIR="~/posimai-project/posimai-dev" +LOCAL_DIR="$(cd "$(dirname "$0")/../posimai-dev" && pwd)" + +# ── カラー出力 ────────────────────────────── +GREEN='\033[0;32m'; CYAN='\033[0;36m'; RED='\033[0;31m'; RESET='\033[0m' +step(){ echo -e "\n${CYAN}→ $1${RESET}"; } +ok() { echo -e " ${GREEN}$1${RESET}"; } +err() { echo -e " ${RED}$1${RESET}"; exit 1; } + +echo "========================================" +echo " posimai-dev Deploy → Ubuntu PC" +echo "========================================" + +# ── Step 1: git push ──────────────────────── +step "Step 1: git push (gitea + github)" +cd "$(dirname "$0")/.." +git push gitea main && git push github main +ok "push 完了" + +# ── Step 2: scp 転送 ───────────────────────── +step "Step 2: 変更ファイルを Ubuntu PC に直接転送" +# posimai-dev/ 以下のファイルをすべて転送 +scp -r "$LOCAL_DIR/"* "${UBUNTU_PC}:${REMOTE_DIR}/" +ok "転送完了" + +# ── Step 3: サービス再起動 ────────────────── +step "Step 3: posimai-dev サービス再起動" +ssh "$UBUNTU_PC" "sudo systemctl restart posimai-dev" +sleep 2 +STATUS=$(ssh "$UBUNTU_PC" "systemctl is-active posimai-dev") +if [ "$STATUS" = "active" ]; then + ok "再起動完了 (active)" +else + err "再起動失敗: status=$STATUS" +fi + +echo "" +echo "========================================" +echo " Deploy 完了" +echo "========================================"