soiz1 commited on
Commit
dc7c3d5
·
verified ·
1 Parent(s): c473311

Update upload.sh

Browse files
Files changed (1) hide show
  1. upload.sh +25 -24
upload.sh CHANGED
@@ -1,4 +1,5 @@
1
  #!/bin/bash
 
2
 
3
  # 必須: 環境変数 sc4sc_token が設定されていることを確認
4
  if [ -z "$sc4sc_token" ]; then
@@ -6,51 +7,51 @@ if [ -z "$sc4sc_token" ]; then
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
- # ===== LFS対応のため、キャッシュから除去して再追加 =====
20
- git rm --cached js/scratch-gui.js || true
21
- git rm --cached js/scratch-gui.js.map || true
22
- git add js/scratch-gui.js js/scratch-gui.js.map
23
- git commit -m "Move large files to LFS" || echo "No changes to commit (LFS prep)."
24
- # ==========================================================
25
-
26
  WORK_DIR=$(mktemp -d)
27
  echo "作業ディレクトリ: $WORK_DIR"
28
 
 
29
  REPO_URL="https://user:[email protected]/spaces/s-4-s/editor"
30
 
 
31
  git clone "$REPO_URL" "$WORK_DIR"
32
  cd "$WORK_DIR" || exit 1
33
 
34
- # クリーンアップ
 
 
 
 
 
 
 
 
35
  find . -mindepth 1 -maxdepth 1 ! -name ".git" -exec rm -rf {} +
36
 
37
- # dist ディレクトリの中身をコピー
38
- rsync -av "$SRC_DIR/dist/" ./
39
 
40
- # .gitattributes をコピー(必須)
41
- cp "$SRC_DIR/.gitattributes" ./
 
 
 
 
42
 
43
- # CMD を修正
44
  if [ -f Dockerfile ]; then
45
  sed -i.bak 's|CMD /bin/sh -c "./upload.sh && npm start"|CMD /bin/sh -c "npm start"|' Dockerfile
46
  fi
47
 
 
48
  git config user.name "auto-deploy"
49
  git config user.email "[email protected]"
50
  git add .
51
  git commit -m "Auto deploy at $(date '+%Y-%m-%d %H:%M:%S')" || echo "No changes to commit."
52
- git push origin main
53
 
 
54
  cd ..
55
  rm -rf "$WORK_DIR"
56
 
 
1
  #!/bin/bash
2
+ echo "starting..."
3
 
4
  # 必須: 環境変数 sc4sc_token が設定されていることを確認
5
  if [ -z "$sc4sc_token" ]; then
 
7
  exit 1
8
  fi
9
 
10
+ # 作業用一時ディレクトリ作成
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  WORK_DIR=$(mktemp -d)
12
  echo "作業ディレクトリ: $WORK_DIR"
13
 
14
+ # Git 認証つきURL
15
  REPO_URL="https://user:[email protected]/spaces/s-4-s/editor"
16
 
17
+ # リモートから clone
18
  git clone "$REPO_URL" "$WORK_DIR"
19
  cd "$WORK_DIR" || exit 1
20
 
21
+ # Git LFS を初期化
22
+ git lfs install
23
+
24
+ # LFS対象ファイルを指定
25
+ git lfs track "js/scratch-gui.js"
26
+ git lfs track "js/scratch-gui.js.map"
27
+ git add .gitattributes
28
+
29
+ # 既存内容を削除(.git を除く)
30
  find . -mindepth 1 -maxdepth 1 ! -name ".git" -exec rm -rf {} +
31
 
32
+ # コピー元(dist)パス
33
+ SRC_DIR=$(pwd)/../dist
34
 
35
+ # dist フォルダの中身をすべてコピー
36
+ rsync -av "$SRC_DIR/" ./
37
+
38
+ # LFS対象ファイルを rm --cached → add し直す
39
+ git rm --cached js/scratch-gui.js js/scratch-gui.js.map 2>/dev/null || true
40
+ git add js/scratch-gui.js js/scratch-gui.js.map
41
 
42
+ # Dockerfile の CMD を置換
43
  if [ -f Dockerfile ]; then
44
  sed -i.bak 's|CMD /bin/sh -c "./upload.sh && npm start"|CMD /bin/sh -c "npm start"|' Dockerfile
45
  fi
46
 
47
+ # Git 設定と commit/push
48
  git config user.name "auto-deploy"
49
  git config user.email "[email protected]"
50
  git add .
51
  git commit -m "Auto deploy at $(date '+%Y-%m-%d %H:%M:%S')" || echo "No changes to commit."
52
+ git push origin main --force
53
 
54
+ # 後始末
55
  cd ..
56
  rm -rf "$WORK_DIR"
57