Skip to content

Commit 52b8061

Browse files
authored
Merge pull request #5 from Dobrunia/main
f
2 parents 2108a8c + 33969b1 commit 52b8061

1 file changed

Lines changed: 17 additions & 50 deletions

File tree

.github/workflows/deploy-back.yml

Lines changed: 17 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,18 @@
1-
# Деплой бэкенда при push в ветку backend-prod.
2-
# Сборка server/ (shared + tsc + dist), загрузка на хостинг по SSH.
3-
name: Deploy Backend (prod)
1+
name: Deploy Backend (prod) FTP
42

53
on:
64
push:
75
branches: [backend-prod]
86

97
jobs:
10-
build:
8+
deploy:
119
runs-on: ubuntu-latest
1210
steps:
1311
- uses: actions/checkout@v4
1412

1513
- uses: actions/setup-node@v4
1614
with:
1715
node-version: "20"
18-
cache: "npm"
19-
cache-dependency-path: |
20-
server/package-lock.json
21-
shared/package-lock.json
2216

2317
- name: Install and build shared
2418
run: |
@@ -30,52 +24,25 @@ jobs:
3024

3125
- name: Build server
3226
run: |
33-
cd server && npx tsc && node scripts/build-deploy.mjs
27+
cd server
28+
npx tsc
29+
node scripts/build-deploy.mjs
3430
35-
- name: Prepare deploy bundle (dist + shared for file:../shared)
31+
- name: Prepare deploy bundle
3632
run: |
3733
mkdir -p _deploy
3834
cp -r server/dist _deploy/dist
3935
cp -r shared _deploy/shared
36+
cp server/package.json _deploy/package.json
37+
cp server/package-lock.json _deploy/package-lock.json
38+
if [ -d "server/prisma" ]; then cp -r server/prisma _deploy/prisma; fi
4039
41-
- name: Upload artifact
42-
uses: actions/upload-artifact@v4
43-
with:
44-
name: back-dist
45-
path: _deploy
46-
47-
deploy:
48-
needs: build
49-
runs-on: ubuntu-latest
50-
steps:
51-
- name: Download artifact
52-
uses: actions/download-artifact@v4
53-
with:
54-
name: back-dist
55-
56-
- name: Deploy via SSH (rsync)
57-
uses: burnett01/rsync-deployments@v7.0.2
58-
with:
59-
switches: -avzr --delete
60-
path: ./
61-
remote_path: ${{ secrets.DEPLOY_PATH }}/
62-
remote_host: ${{ secrets.SSH_HOST }}
63-
remote_user: ${{ secrets.SSH_USER }}
64-
remote_key: ${{ secrets.SSH_PRIVATE_KEY }}
65-
66-
- name: Install deps and restart on server
67-
uses: appleboy/ssh-action@v1.0.3
40+
- name: Upload via FTP
41+
uses: SamKirkland/FTP-Deploy-Action@v4.3.5
6842
with:
69-
host: ${{ secrets.SSH_HOST }}
70-
username: ${{ secrets.SSH_USER }}
71-
key: ${{ secrets.SSH_PRIVATE_KEY }}
72-
script_stderr: true
73-
script: |
74-
cd ${{ secrets.DEPLOY_PATH }}/dist
75-
npm ci
76-
npx prisma generate
77-
pm2 restart dayflow-server || pm2 start index.js --name dayflow-server
78-
pm2 save
79-
exit 0
80-
env:
81-
DEPLOY_PATH: ${{ secrets.DEPLOY_PATH }}
43+
server: ${{ secrets.BACKEND_FTP_SERVER }}
44+
username: ${{ secrets.BACKEND_FTP_USERNAME }}
45+
password: ${{ secrets.BACKEND_FTP_PASSWORD }}
46+
local-dir: _deploy/
47+
server-dir: ./
48+
dangerous-clean-slate: false

0 commit comments

Comments
 (0)