name: Deploy Backend on: push: branches: - main workflow_dispatch: jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Configure SSH shell: bash run: | mkdir -p ~/.ssh echo "${{ secrets.SERVER_SSH_KEY }}" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan -p "${{ secrets.SERVER_PORT }}" -H "${{ secrets.SERVER_HOST }}" >> ~/.ssh/known_hosts - name: Deploy on Server shell: bash run: | ssh -p "${{ secrets.SERVER_PORT }}" "${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }}" << 'EOF' set -e cd "${{ secrets.APP_DIR }}" git fetch origin git checkout main git pull --ff-only origin main docker compose up -d --build docker compose ps EOF