Files
portfolio/.gitea/workflows/deploy.yaml
Louis 6fe75eeb19
All checks were successful
Deploy React portfolio / deploy (push) Successful in 31s
edit to use ssh secret instead
2025-10-29 01:43:17 +01:00

44 lines
1.2 KiB
YAML

name: Deploy React portfolio
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Setup SSH
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_DEPLOY_KEY }}" > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key
- name: Deploy to server
run: |
tar czf portfolio.tar.gz -C dist .
scp -i ~/.ssh/deploy_key -o StrictHostKeyChecking=accept-new portfolio.tar.gz deploy@91.98.34.152:/tmp/
ssh -i ~/.ssh/deploy_key -o StrictHostKeyChecking=accept-new deploy@91.98.34.152 "\
sudo rm -rf /var/www/louisemard.dev/* && \
sudo tar xzf /tmp/portfolio.tar.gz -C /var/www/louisemard.dev/ && \
sudo rm /tmp/portfolio.tar.gz && \
sudo chown -R deploy:www-data /var/www/louisemard.dev && \
sudo chmod -R 775 /var/www/louisemard.dev && \
sudo systemctl reload nginx"