Spaces:
Runtime error
Runtime error
| # 必須: 環境変数 sc4sc_token が設定されていることを確認 | |
| if [ -z "$sc4sc_token" ]; then | |
| echo "Error: 環境変数 sc4sc_token が設定されていません。" | |
| exit 1 | |
| fi | |
| # スクリプト実行元の絶対パス | |
| SRC_DIR=$(pwd) | |
| git lfs install | |
| git lfs pull | |
| echo "js/scratch-gui.js filter=lfs diff=lfs merge=lfs -text" >> .gitattributes | |
| echo "js/scratch-gui.js.map filter=lfs diff=lfs merge=lfs -text" >> .gitattributes | |
| # 作業用一時ディレクトリ | |
| 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"/ ./ | |
| # distフォルダの中身だけをコピー | |
| rsync -av "$SRC_DIR/dist/" ./ | |
| # 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 "アップロード完了 ✅" | |