s4s-editor / upload.sh
soiz1's picture
Update upload.sh
51f1118 verified
#!/bin/bash
echo "starting..."
<< COMMENTOUT000
# 必須: 環境変数 sc4sc_token が設定されていることを確認
if [ -z "$sc4sc_token" ]; then
echo "Error: 環境変数 sc4sc_token が設定されていません。"
exit 1
fi
SRC_DIR="$(cd "$(dirname "$0")" && pwd)/dist"
WORK_DIR=$(mktemp -d)
echo "作業ディレクトリ: $WORK_DIR"
REPO_URL="https://user:[email protected]/spaces/s-4-s/editor"
# リモートから clone
git clone "$REPO_URL" "$WORK_DIR"
cd "$WORK_DIR" || exit 1
# Git LFS を初期化
git lfs install
# LFS対象ファイルの拡張子をすべて登録
git lfs track "*.js"
git lfs track "*.map"
git lfs track "*.ttf"
git lfs track "*.otf"
git lfs track "*.png"
git add .gitattributes
# 既存内容を削除(.git を除く)
find . -mindepth 1 -maxdepth 1 ! -name ".git" -exec rm -rf {} +
# dist フォルダの中身をすべてコピー
rsync -av "$SRC_DIR/" "$WORK_DIR/"
# バイナリファイルを Git LFS に登録し直す
find . -type f \( -name "*.js" -o -name "*.map" -o -name "*.ttf" -o -name "*.otf" -o -name "*.png" \) -exec git rm --cached {} \; 2>/dev/null || true
find . -type f \( -name "*.js" -o -name "*.map" -o -name "*.ttf" -o -name "*.otf" -o -name "*.png" \) -exec git add {} \;
# Dockerfile の CMD を修正(必要なら)
if [ -f Dockerfile ]; then
sed -i.bak 's|CMD /bin/sh -c "./upload.sh && npm start"|CMD /bin/sh -c "npm start"|' Dockerfile
fi
# Git 設定とコミット・プッシュ
git config user.name "auto-deploy"
git config user.email "[email protected]"
git add .
git commit -m "Auto deploy at $(date '+%Y-%m-%d %H:%M:%S')" || echo "No changes to commit."
git push origin main --force
# 後始末
cd ..
rm -rf "$WORK_DIR"
echo "アップロード完了 ✅"
COMMENTOUT000