edit to use ssh secret instead
All checks were successful
Deploy React portfolio / deploy (push) Successful in 31s
All checks were successful
Deploy React portfolio / deploy (push) Successful in 31s
This commit is contained in:
@@ -8,52 +8,36 @@ on:
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: node:20-bookworm
|
||||
volumes:
|
||||
- /home/deploy/.ssh:/root/.ssh:ro
|
||||
|
||||
steps:
|
||||
- name: Install SSH client
|
||||
run: |
|
||||
apt-get update && apt-get install -y openssh-client rsync
|
||||
|
||||
- name: Checkout
|
||||
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
|
||||
|
||||
- name: Build
|
||||
run: npm run build
|
||||
|
||||
- name: Check SSH keys
|
||||
- name: Setup SSH
|
||||
run: |
|
||||
echo "=== SSH keys available? ==="
|
||||
ls -la /root/.ssh/
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.SSH_DEPLOY_KEY }}" > ~/.ssh/deploy_key
|
||||
chmod 600 ~/.ssh/deploy_key
|
||||
|
||||
- name: Deploy to web server
|
||||
- name: Deploy to server
|
||||
run: |
|
||||
# determine build output dir
|
||||
if [ -d build ]; then DIR=build
|
||||
elif [ -d dist ]; then DIR=dist
|
||||
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 "\
|
||||
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"
|
||||
|
||||
- name: Success
|
||||
run: echo "✅ Déployé sur https://louisemard.dev"
|
||||
Reference in New Issue
Block a user