Spaces:
Running
Running
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 | |