Add Gitea Actions deployment workflow for witstore.wende.it
Deploy to Plesk (witstore.wende.it) / deploy (push) Failing after 1m8s
Deploy to Plesk (witstore.wende.it) / deploy (push) Failing after 1m8s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,104 @@
|
|||||||
|
name: Deploy to Plesk (witstore.wende.it)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- DEV
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# ── 1. Code auschecken ───────────────────────────────────────────
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
# ── 2. PHP + Composer ────────────────────────────────────────────
|
||||||
|
- name: PHP einrichten
|
||||||
|
uses: shivammathur/setup-php@v2
|
||||||
|
with:
|
||||||
|
php-version: '8.3'
|
||||||
|
extensions: mbstring, pdo, pdo_mysql, xml, curl, zip, gd
|
||||||
|
coverage: none
|
||||||
|
|
||||||
|
- name: Composer Abhängigkeiten installieren
|
||||||
|
run: composer install --no-dev --optimize-autoloader --no-interaction
|
||||||
|
|
||||||
|
# ── 3. Node / Assets bauen ───────────────────────────────────────
|
||||||
|
- name: Node.js einrichten
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: '20'
|
||||||
|
cache: 'npm'
|
||||||
|
|
||||||
|
- name: NPM Abhängigkeiten installieren
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Assets bauen (Vite)
|
||||||
|
run: npm run build
|
||||||
|
|
||||||
|
# ── 4. Deployment via SSH auf Plesk ──────────────────────────────
|
||||||
|
- name: Deployment via SSH
|
||||||
|
uses: appleboy/ssh-action@v1.0.3
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.DEPLOY_HOST }}
|
||||||
|
username: ${{ secrets.DEPLOY_USER }}
|
||||||
|
key: ${{ secrets.DEPLOY_SSH_KEY }}
|
||||||
|
port: ${{ secrets.DEPLOY_PORT || 22 }}
|
||||||
|
script: |
|
||||||
|
set -e
|
||||||
|
DEPLOY_PATH="/var/www/vhosts/witstore.wende.it/httpdocs"
|
||||||
|
|
||||||
|
echo "==> Wartungsmodus aktivieren"
|
||||||
|
cd "$DEPLOY_PATH"
|
||||||
|
php artisan down --render="errors::503" --retry=60 || true
|
||||||
|
|
||||||
|
echo "==> Code aktualisieren"
|
||||||
|
git pull origin DEV
|
||||||
|
|
||||||
|
echo "==> Composer (Produktion)"
|
||||||
|
composer install --no-dev --optimize-autoloader --no-interaction
|
||||||
|
|
||||||
|
echo "==> Assets kopieren (vom Runner vorbereitet)"
|
||||||
|
# Assets wurden oben gebaut und sind jetzt im Repo (public/build)
|
||||||
|
|
||||||
|
echo "==> .env prüfen"
|
||||||
|
if [ ! -f .env ]; then
|
||||||
|
cp .env.example .env
|
||||||
|
php artisan key:generate
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "==> Datenbankmigrationen"
|
||||||
|
php artisan migrate --force
|
||||||
|
|
||||||
|
echo "==> Cache leeren und neu aufbauen"
|
||||||
|
php artisan config:cache
|
||||||
|
php artisan route:cache
|
||||||
|
php artisan view:cache
|
||||||
|
php artisan event:cache
|
||||||
|
|
||||||
|
echo "==> Storage-Link sicherstellen"
|
||||||
|
php artisan storage:link || true
|
||||||
|
|
||||||
|
echo "==> Berechtigungen setzen"
|
||||||
|
chmod -R 755 storage bootstrap/cache
|
||||||
|
chown -R $(whoami):psaserv storage bootstrap/cache 2>/dev/null || true
|
||||||
|
|
||||||
|
echo "==> Queue Worker neu starten"
|
||||||
|
php artisan queue:restart || true
|
||||||
|
|
||||||
|
echo "==> Wartungsmodus deaktivieren"
|
||||||
|
php artisan up
|
||||||
|
|
||||||
|
echo "==> Deployment erfolgreich abgeschlossen"
|
||||||
|
|
||||||
|
# ── 5. Status-Benachrichtigung ────────────────────────────────────
|
||||||
|
- name: Deployment-Status melden
|
||||||
|
if: always()
|
||||||
|
run: |
|
||||||
|
if [ "${{ job.status }}" == "success" ]; then
|
||||||
|
echo "✅ Deployment auf witstore.wende.it erfolgreich"
|
||||||
|
else
|
||||||
|
echo "❌ Deployment fehlgeschlagen – bitte Logs prüfen"
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user