edit to use ssh secret instead
All checks were successful
Deploy React portfolio / deploy (push) Successful in 31s

This commit is contained in:
Louis
2025-10-29 01:43:17 +01:00
parent 6e038ead84
commit 6fe75eeb19

View File

@@ -8,52 +8,36 @@ on:
jobs: jobs:
deploy: deploy:
runs-on: ubuntu-latest runs-on: ubuntu-latest
container:
image: node:20-bookworm
volumes:
- /home/deploy/.ssh:/root/.ssh:ro
steps: steps:
- name: Install SSH client
run: |
apt-get update && apt-get install -y openssh-client rsync
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Install deps - name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: npm ci run: npm ci
- name: Build - name: Build
run: npm run build run: npm run build
- name: Check SSH keys - name: Setup SSH
run: | run: |
echo "=== SSH keys available? ===" mkdir -p ~/.ssh
ls -la /root/.ssh/ echo "${{ secrets.SSH_DEPLOY_KEY }}" > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key
- name: Deploy to web server
- name: Deploy to server
run: | run: |
# determine build output dir tar czf portfolio.tar.gz -C dist .
if [ -d build ]; then DIR=build scp -i ~/.ssh/deploy_key -o StrictHostKeyChecking=accept-new portfolio.tar.gz deploy@91.98.34.152:/tmp/
elif [ -d dist ]; then DIR=dist ssh -i ~/.ssh/deploy_key -o StrictHostKeyChecking=accept-new deploy@91.98.34.152 "\
else
echo "❌ No build output directory found" >&2
ls -la
exit 1
fi
echo "Using build dir: $DIR"
# deploy
tar czf portfolio.tar.gz -C "$DIR" .
scp -i /root/.ssh/deploy_to_web -o StrictHostKeyChecking=accept-new portfolio.tar.gz deploy@91.98.34.152:/tmp/
ssh -i /root/.ssh/deploy_to_web -o StrictHostKeyChecking=accept-new deploy@91.98.34.152 "\
sudo rm -rf /var/www/louisemard.dev/* && \ sudo rm -rf /var/www/louisemard.dev/* && \
sudo tar xzf /tmp/portfolio.tar.gz -C /var/www/louisemard.dev/ && \ sudo tar xzf /tmp/portfolio.tar.gz -C /var/www/louisemard.dev/ && \
sudo rm /tmp/portfolio.tar.gz && \ sudo rm /tmp/portfolio.tar.gz && \
sudo chown -R deploy:www-data /var/www/louisemard.dev && \ sudo chown -R deploy:www-data /var/www/louisemard.dev && \
sudo chmod -R 775 /var/www/louisemard.dev && \ sudo chmod -R 775 /var/www/louisemard.dev && \
sudo systemctl reload nginx" sudo systemctl reload nginx"
- name: Success
run: echo "✅ Déployé sur https://louisemard.dev"