s4s-editor / upload.sh
soiz1's picture
Update upload.sh
748cb53 verified
raw
history blame
1.47 kB
#!/bin/bash
# 必須: 環境変数 sc4sc_token が設定されていることを確認
if [ -z "$sc4sc_token" ]; then
echo "Error: 環境変数 sc4sc_token が設定されていません。"
exit 1
fi
# スクリプト実行元の絶対パス
SRC_DIR=$(pwd)
git lfs install
git lfs pull
# 作業用一時ディレクトリ
WORK_DIR=$(mktemp -d)
echo "作業ディレクトリ: $WORK_DIR"
# Git 認証情報を含む URL
REPO_URL="https://user:$sc4sc_token@huggingface.co/spaces/s-4-s/editor"
# clone して main ブランチを取得
git clone "$REPO_URL" "$WORK_DIR"
cd "$WORK_DIR" || exit 1
# 既存の内容を削除(.git を除く)
find . -mindepth 1 -maxdepth 1 ! -name ".git" -exec rm -rf {} +
# プロジェクト内容をコピー(.git, chromedriver, node_modules を除く)
rsync -av --exclude='.git' --exclude='node_modules' --exclude='chromedriver' --exclude="$(basename "$WORK_DIR")" "$SRC_DIR"/ ./
# DockerfileのCMDを置換(WORK_DIR にコピーされた後の Dockerfile に対して)
DOCKERFILE="./Dockerfile"
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
# 後始末
cd ..
rm -rf "$WORK_DIR"
echo "アップロード完了 ✅"