File size: 1,472 Bytes
c8abb98
06aa71a
de67995
c8abb98
de67995
c8abb98
 
 
a981a29
 
cb716b1
 
18b18ba
de67995
 
 
c8abb98
a981a29
31eae05
de67995
 
0b78390
de67995
 
18b18ba
de67995
06aa71a
748cb53
 
c8abb98
18b18ba
 
3e6059a
 
 
 
de67995
 
 
0b78390
de67995
0b78390
de67995
435db92
de67995
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/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 "アップロード完了 ✅"