Spaces:
Running
Running
# 必須: 環境変数 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 "アップロード完了 ✅" | |