name: SSH Backend Deploy on: push: branches: - main jobs: ssh-deploy: runs-on: ubuntu-latest steps: - name: Install SSH and dependencies run: | apt-get update apt-get install -y openssh-client mkdir -p ~/.ssh chmod 700 ~/.ssh - name: Write SSH Key run: | echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa # Add known hosts to avoid prompt ssh-keyscan ${{ vars.SSH_HOST }} >> ~/.ssh/known_hosts chmod 600 ~/.ssh/known_hosts env: SSH_PRIVATE_KEY: ${{ vars.SSH_PRIVATE_KEY }} - name: Verify SSH connection run: | ssh -T -i ~/.ssh/id_rsa ${{ vars.SSH_USER }}@${{ vars.SSH_HOST }} echo "SSH connection successful" - name: Run SSH Deploy Script run: | ssh -i ~/.ssh/id_rsa ${{ vars.SSH_USER }}@${{ vars.SSH_HOST }} "cd /root/timelapse-backend && ./deploy.sh"