Skip to content

Commit 2d5ed64

Browse files
feat: revert vps deployment
1 parent 453a1b4 commit 2d5ed64

5 files changed

Lines changed: 202 additions & 258 deletions

File tree

.github/workflows/ci.yml

Lines changed: 0 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -69,87 +69,3 @@ jobs:
6969
subjectPatternError: |
7070
The subject "{subject}" doesn't match the expected format.
7171
Please use a descriptive subject line.
72-
73-
deploy:
74-
name: Deploy to VPS
75-
runs-on: ubuntu-latest
76-
needs: lint-and-build
77-
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
78-
79-
steps:
80-
- name: Checkout
81-
uses: actions/checkout@v4
82-
83-
- name: Setup Node.js
84-
uses: actions/setup-node@v4
85-
with:
86-
node-version: 20.x
87-
cache: 'npm'
88-
89-
- name: Install dependencies
90-
run: npm ci
91-
92-
- name: Build application
93-
run: npm run build
94-
env:
95-
MONGODB_URI: ${{ secrets.MONGODB_URI }}
96-
JWT_SECRET: ${{ secrets.JWT_SECRET }}
97-
ADMIN_ACCESS_CODE: ${{ secrets.ADMIN_ACCESS_CODE }}
98-
MENTOR_ACCESS_CODE: ${{ secrets.MENTOR_ACCESS_CODE }}
99-
AMBASSADOR_ACCESS_CODE: ${{ secrets.AMBASSADOR_ACCESS_CODE }}
100-
NEXT_PUBLIC_GA_ID: ${{ secrets.NEXT_PUBLIC_GA_ID }}
101-
NEXT_PUBLIC_BASE_URL: https://devweekends.com
102-
103-
- name: Setup SSH key
104-
run: |
105-
mkdir -p ~/.ssh
106-
echo "${{ secrets.VPS_SSH_KEY }}" > ~/.ssh/deploy_key
107-
chmod 600 ~/.ssh/deploy_key
108-
ssh-keyscan -H ${{ secrets.VPS_HOST }} >> ~/.ssh/known_hosts
109-
110-
- name: Deploy to VPS
111-
run: |
112-
# Rsync the standalone build, static files, and public assets
113-
rsync -azP --delete \
114-
-e "ssh -i ~/.ssh/deploy_key" \
115-
.next/standalone/ \
116-
${{ secrets.VPS_USERNAME }}@${{ secrets.VPS_HOST }}:/home/${{ secrets.VPS_USERNAME }}/web-platform/
117-
118-
rsync -azP --delete \
119-
-e "ssh -i ~/.ssh/deploy_key" \
120-
.next/static/ \
121-
${{ secrets.VPS_USERNAME }}@${{ secrets.VPS_HOST }}:/home/${{ secrets.VPS_USERNAME }}/web-platform/.next/static/
122-
123-
rsync -azP --delete \
124-
-e "ssh -i ~/.ssh/deploy_key" \
125-
public/ \
126-
${{ secrets.VPS_USERNAME }}@${{ secrets.VPS_HOST }}:/home/${{ secrets.VPS_USERNAME }}/web-platform/public/
127-
128-
- name: Restart application
129-
uses: appleboy/ssh-action@v1
130-
with:
131-
host: ${{ secrets.VPS_HOST }}
132-
username: ${{ secrets.VPS_USERNAME }}
133-
key: ${{ secrets.VPS_SSH_KEY }}
134-
script: |
135-
cd /home/${{ secrets.VPS_USERNAME }}/web-platform
136-
# Create .env file with runtime secrets
137-
cat > .env << 'ENVEOF'
138-
NODE_ENV=production
139-
PORT=3000
140-
HOSTNAME=0.0.0.0
141-
MONGODB_URI=${{ secrets.MONGODB_URI }}
142-
JWT_SECRET=${{ secrets.JWT_SECRET }}
143-
ADMIN_ACCESS_CODE=${{ secrets.ADMIN_ACCESS_CODE }}
144-
MENTOR_ACCESS_CODE=${{ secrets.MENTOR_ACCESS_CODE }}
145-
AMBASSADOR_ACCESS_CODE=${{ secrets.AMBASSADOR_ACCESS_CODE }}
146-
CLOUDINARY_CLOUD_NAME=${{ secrets.CLOUDINARY_CLOUD_NAME }}
147-
CLOUDINARY_API_KEY=${{ secrets.CLOUDINARY_API_KEY }}
148-
CLOUDINARY_API_SECRET=${{ secrets.CLOUDINARY_API_SECRET }}
149-
NEXT_PUBLIC_GA_ID=${{ secrets.NEXT_PUBLIC_GA_ID }}
150-
NEXT_PUBLIC_BASE_URL=https://devweekends.com
151-
ENVEOF
152-
# Restart the app with PM2
153-
pm2 restart web-platform --update-env || pm2 start server.js --name web-platform
154-
pm2 save
155-

.github/workflows/sync-fork.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Sync Fork & Deploy
2+
3+
# Runs when code is pushed to main on devweekends/web-platform
4+
on:
5+
push:
6+
branches: [main]
7+
8+
jobs:
9+
sync-fork:
10+
name: Sync to deployment fork
11+
runs-on: ubuntu-latest
12+
# Only run on the upstream repo, not on forks
13+
if: github.repository == 'devweekends/web-platform'
14+
15+
steps:
16+
- name: Checkout upstream repo
17+
uses: actions/checkout@v4
18+
with:
19+
fetch-depth: 0
20+
21+
- name: Push to fork
22+
run: |
23+
git remote add fork https://x-access-token:${{ secrets.FORK_SYNC_TOKEN }}@github.com/m-junaidd/web-platform.git
24+
git push fork main --force

0 commit comments

Comments
 (0)