name: Deploy run-name: Deploying to production on: [push] jobs: deploy: runs-on: ubuntu-latest container: image: eeacms/rsync steps: - name: Install git run: | apk add --no-cache git which rsync - 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: | echo "Removing old website..." ssh $USER@$HOST1 'rm -rf /var/www/elia.network/html/*' echo "Deploying new website..." /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'