name: Deploy PHP App on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Deploy to server env: SSH_HOST: ${{ secrets.SSH_HOST }} SSH_PORT: ${{ secrets.SSH_PORT }} SSH_USER: ${{ secrets.SSH_USER }} SSH_KEY: ${{ secrets.SSH_KEY }} APP_DIR: ${{ secrets.APP_DIR }} REPO_URL: https://gitea.myaccess.cloud/${{ gitea.repository }}.git BRANCH: main run: | mkdir -p ~/.ssh echo "$SSH_KEY" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan -p "$SSH_PORT" "$SSH_HOST" >> ~/.ssh/known_hosts ssh -p "$SSH_PORT" "$SSH_USER@$SSH_HOST" " set -e if [ -d \"$APP_DIR/.git\" ]; then echo 'Repo exists, pulling latest code' cd \"$APP_DIR\" git fetch origin git reset --hard origin/$BRANCH else echo 'Repo does not exist, cloning fresh' rm -rf \"$APP_DIR\" git clone -b \"$BRANCH\" \"$REPO_URL\" \"$APP_DIR\" cd \"$APP_DIR\" fi docker compose down --remove-orphans || true docker compose up -d --build "