soiz1 commited on
Commit
f326774
·
verified ·
1 Parent(s): 64e4a11

Update upload.sh

Browse files
Files changed (1) hide show
  1. upload.sh +15 -18
upload.sh CHANGED
@@ -6,47 +6,44 @@ if [ -z "$sc4sc_token" ]; then
6
  exit 1
7
  fi
8
 
9
- # スクリプト実行元の絶対パス
10
  SRC_DIR=$(pwd)
11
  git lfs install
12
- git lfs pull
13
- echo "js/scratch-gui.js filter=lfs diff=lfs merge=lfs -text" >> .gitattributes
14
- echo "js/scratch-gui.js.map filter=lfs diff=lfs merge=lfs -text" >> .gitattributes
15
 
16
- # 作業用一時ディレクトリ
 
 
 
 
 
 
17
  WORK_DIR=$(mktemp -d)
18
  echo "作業ディレクトリ: $WORK_DIR"
19
 
20
- # Git 認証情報を含む URL
21
  REPO_URL="https://user:[email protected]/spaces/s-4-s/editor"
22
 
23
- # clone して main ブランチを取得
24
  git clone "$REPO_URL" "$WORK_DIR"
25
  cd "$WORK_DIR" || exit 1
26
 
27
- # 既存の内容を削除(.git を除く)
28
  find . -mindepth 1 -maxdepth 1 ! -name ".git" -exec rm -rf {} +
29
 
30
- # プロジェクト内容をコピー(.git, chromedriver, node_modules を除く)
31
- #rsync -av --exclude='.git' --exclude='node_modules' --exclude='chromedriver' --exclude="$(basename "$WORK_DIR")" "$SRC_DIR"/ ./
32
 
33
- # distフォルダの中身だけをコピー
34
- rsync -av "$SRC_DIR/dist/" ./
35
 
36
- # DockerfileのCMDを置換(WORK_DIR にコピーされた後の Dockerfile に対して)
37
- DOCKERFILE="./Dockerfile"
38
- if [ -f "$DOCKERFILE" ]; then
39
- sed -i.bak 's|CMD /bin/sh -c "./upload.sh && npm start"|CMD /bin/sh -c "npm start"|' "$DOCKERFILE"
40
  fi
41
 
42
- # Git 操作
43
  git config user.name "auto-deploy"
44
  git config user.email "[email protected]"
45
  git add .
46
  git commit -m "Auto deploy at $(date '+%Y-%m-%d %H:%M:%S')" || echo "No changes to commit."
47
  git push origin main
48
 
49
- # 後始末
50
  cd ..
51
  rm -rf "$WORK_DIR"
52
 
 
6
  exit 1
7
  fi
8
 
 
9
  SRC_DIR=$(pwd)
10
  git lfs install
 
 
 
11
 
12
+ # LFS対象ファイルを指定
13
+ git lfs track "js/scratch-gui.js"
14
+ git lfs track "js/scratch-gui.js.map"
15
+
16
+ # .gitattributes をコミット対象に追加(重要)
17
+ git add .gitattributes
18
+
19
  WORK_DIR=$(mktemp -d)
20
  echo "作業ディレクトリ: $WORK_DIR"
21
 
 
22
  REPO_URL="https://user:[email protected]/spaces/s-4-s/editor"
23
 
 
24
  git clone "$REPO_URL" "$WORK_DIR"
25
  cd "$WORK_DIR" || exit 1
26
 
27
+ # クリーンアップ
28
  find . -mindepth 1 -maxdepth 1 ! -name ".git" -exec rm -rf {} +
29
 
30
+ # dist ディレクトリの中身をコピー
31
+ rsync -av "$SRC_DIR/dist/" ./
32
 
33
+ # .gitattributes をコピー(必須)
34
+ cp "$SRC_DIR/.gitattributes" ./
35
 
36
+ # CMD を修正
37
+ if [ -f Dockerfile ]; then
38
+ sed -i.bak 's|CMD /bin/sh -c "./upload.sh && npm start"|CMD /bin/sh -c "npm start"|' Dockerfile
 
39
  fi
40
 
 
41
  git config user.name "auto-deploy"
42
  git config user.email "[email protected]"
43
  git add .
44
  git commit -m "Auto deploy at $(date '+%Y-%m-%d %H:%M:%S')" || echo "No changes to commit."
45
  git push origin main
46
 
 
47
  cd ..
48
  rm -rf "$WORK_DIR"
49