Files
ali-cicd/.gitea/workflows/deploy.yml
naseerai 049a09088f
All checks were successful
Deploy PHP App / deploy (push) Successful in 53s
Update .gitea/workflows/deploy.yml
2026-04-02 10:22:52 +00:00

60 lines
1.8 KiB
YAML

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
echo 'APP_DIR: $APP_DIR'
echo 'REPO_URL: $REPO_URL'
if [ -d \"$APP_DIR/.git\" ]; then
echo 'Repo exists, updating remote and pulling latest code'
cd \"$APP_DIR\"
git remote set-url origin \"$REPO_URL\"
git fetch origin
git checkout \"$BRANCH\" || git checkout -b \"$BRANCH\"
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
echo 'Current directory:'
pwd
echo 'Files in repo root:'
ls -la
if [ ! -f docker-compose.yml ]; then
echo 'ERROR: docker-compose.yml not found in $APP_DIR'
exit 1
fi
docker compose -f docker-compose.yml down --remove-orphans || true
docker compose -f docker-compose.yml up -d --build
"