name: Deploy to Server on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Setup SSH Key run: | mkdir -p ~/.ssh echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan -H ${{ secrets.SERVER_IP }} >> ~/.ssh/known_hosts - name: Debug SSH Connection run: | ssh -v -o StrictHostKeyChecking=no ${{ secrets.USERNAME }}@${{ secrets.SERVER_IP }} "echo 'SSH Connection Successful'" - name: Deploy Files with Rsync uses: appleboy/rsync-action@v0.1.3 with: ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }} source: "." target: ${{ secrets.PROJECT_PATH }} host: ${{ secrets.SERVER_IP }} username: ${{ secrets.USERNAME }}