diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..1cc0f86 --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,46 @@ +name: Deploy Production + +on: + push: + branches: + - master + +jobs: + deploy: + runs-on: self-hosted + steps: + - name: Pull latest code + run: | + cd /root/myproject/CFDivePlatform + git pull + + - name: Install Composer dependencies + run: | + cd /root/myproject/CFDivePlatform + docker compose exec -T app composer install --no-dev --optimize-autoloader + + - name: Run migrations + run: | + cd /root/myproject/CFDivePlatform + docker compose exec -T app php artisan migrate --force + + - name: Cache configs + run: | + cd /root/myproject/CFDivePlatform + docker compose exec -T app php artisan config:cache + docker compose exec -T app php artisan route:cache + docker compose exec -T app php artisan view:cache + docker compose exec -T app php artisan event:cache + + - name: Restart queue worker + run: | + cd /root/myproject/CFDivePlatform + docker compose restart queue-worker + + - name: Rebuild frontend (if changed) + run: | + cd /root/myproject/CFDivePlatform + if git diff --name-only HEAD~1 HEAD | grep -q '^frontend/'; then + docker compose build frontend + docker compose up -d frontend + fi