website/.gitea/workflows/deploy.yaml
2024-11-03 23:24:15 +01:00

41 lines
1.2 KiB
YAML

name: Deploy
run-name: Deploying to production
on: [push]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install rsync
run: |
sudo apt-get update
sudo apt-get install rsync -y
which rsync # This will verify rsync location
- name: Setup SSH
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
HOST1: ${{ secrets.HOST1 }}
USER: ${{ secrets.USER }}
run: |
mkdir -p ~/.ssh
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan -H $HOST1 >> ~/.ssh/known_hosts
- name: Deploy to first host
env:
HOST1: ${{ secrets.HOST1 }}
USER: ${{ secrets.USER }}
run: |
# First verify the remote directory exists
ssh $USER@$HOST1 'rm -rf /var/www/elia.network/html/*'
/usr/bin/rsync -avz --delete \
--exclude '.git*' \
./ $USER@$HOST1:/var/www/elia.network/html/
- name: Reload Nginx
env:
HOST1: ${{ secrets.HOST1 }}
USER: ${{ secrets.USER }}
run: |
ssh $USER@$HOST1 'sudo systemctl reload nginx'