Skip to content

Commit b07a89c

Browse files
committed
continue fix the bug(3)
1 parent 43730cc commit b07a89c

1 file changed

Lines changed: 20 additions & 22 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,31 +24,31 @@ jobs:
2424
- name: 🏗️ Build Next.js App
2525
run: npm run build
2626

27-
- name: 📂 Prepare build-output folder (exclude node_modules)
27+
- name: 📂 Prepare build-output folder
2828
run: |
2929
mkdir -p build-output
30-
rsync -av --progress ./ build-output/ \
31-
--include '.next/***' \
32-
--include '.env*' \
33-
--exclude 'node_modules' \
34-
--exclude '.git' \
35-
--exclude '.github' \
36-
--exclude 'build-output' \
37-
--exclude '*.log'
30+
cp -r .next package.json package-lock.json next.config.* tsconfig.* public/ build-output/ 2>/dev/null || true
3831
echo "📁 Build output content:"
3932
ls -la build-output
4033
41-
- name: 📤 Upload app files to server
34+
- name: 🗜️ Compress build-output
35+
run: |
36+
cd build-output
37+
tar -czf ../build-output.tar.gz .
38+
cd ..
39+
echo "✅ build-output.tar.gz created:"
40+
ls -lh build-output.tar.gz
41+
42+
- name: 📤 Upload compressed build to server
4243
uses: appleboy/scp-action@v0.1.7
4344
with:
4445
host: ${{ secrets.SSH_HOST }}
4546
username: ${{ secrets.SSH_USER }}
4647
key: ${{ secrets.SSH_PRIVATE_KEY }}
4748
passphrase: ${{ secrets.SSH_PASSPHRASE }}
48-
source: "build-output/**"
49+
source: "build-output.tar.gz"
4950
target: ${{ secrets.DEPLOY_DIR }}
5051
overwrite: true
51-
strip_components: 0
5252

5353
- name: 📦 Upload node_modules to nodevenv
5454
uses: appleboy/scp-action@v0.1.7
@@ -57,33 +57,31 @@ jobs:
5757
username: ${{ secrets.SSH_USER }}
5858
key: ${{ secrets.SSH_PRIVATE_KEY }}
5959
passphrase: ${{ secrets.SSH_PASSPHRASE }}
60-
source: "node_modules/**"
60+
source: "node_modules/*"
6161
target: ${{ secrets.NODE_MODULES_DIR }}
6262
overwrite: true
6363
strip_components: 0
6464

65-
- name: ⚙️ Deploy on server
65+
- name: ⚙️ Extract & Deploy on server
6666
uses: appleboy/ssh-action@v1.2.0
6767
with:
6868
host: ${{ secrets.SSH_HOST }}
6969
username: ${{ secrets.SSH_USER }}
7070
key: ${{ secrets.SSH_PRIVATE_KEY }}
7171
passphrase: ${{ secrets.SSH_PASSPHRASE }}
7272
script: |
73-
set -e
7473
echo "🚀 Starting deployment inside Node.js environment..."
7574
bash -lc '
7675
echo "🔧 Activating environment..."
77-
source /home/devstudi/nodevenv/autodeploy/22/bin/activate
78-
cd ${{ secrets.DEPLOY_DIR }}
76+
source ${{ secrets.NODE_ENV_PATH }}
7977
80-
echo "📦 Moving files out of build-output..."
81-
if [ -d "build-output" ]; then
82-
mv build-output/* . || true
83-
rm -rf build-output
84-
fi
78+
cd ${{ secrets.DEPLOY_DIR }}
79+
echo "📦 Extracting build-output.tar.gz..."
80+
tar -xzf build-output.tar.gz
81+
rm -f build-output.tar.gz
8582
8683
echo "♻️ Restarting Node.js app..."
84+
mkdir -p tmp
8785
touch tmp/restart.txt || true
8886
8987
echo "✅ Deployment complete!"

0 commit comments

Comments
 (0)