Files
SpiceManagementSystem/.gitea/workflows/deploy.yml
T
2026-09-12 04:22:59 +02:00

67 lines
2.0 KiB
YAML

name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: .env generieren
run: |
cat <<'EOF' > .env
APP_NAME=SpiceManagementSystem
APP_ENV=production
APP_KEY=${{ secrets.APP_KEY }}
APP_DEBUG=false
APP_URL=${{ vars.APP_URL }}
SHOPIFY_SHOP_DOMAIN=${{ vars.SHOPIFY_SHOP_DOMAIN }}
SHOPIFY_ACCESS_TOKEN=${{ secrets.SHOPIFY_ACCESS_TOKEN }}
SHOPIFY_WEBHOOK_SECRET=${{ secrets.SHOPIFY_WEBHOOK_SECRET }}
DB_CONNECTION=mariadb
DB_HOST=db
DB_PORT=3306
DB_DATABASE=${{ vars.DB_DATABASE }}
DB_USERNAME=${{ vars.DB_USERNAME }}
DB_PASSWORD=${{ secrets.DB_PASSWORD }}
DB_ROOT_PASSWORD=${{ secrets.DB_ROOT_PASSWORD }}
SESSION_DRIVER=file
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
LOG_CHANNEL=stderr
EOF
- name: Dateien auf VPS kopieren
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ vars.VPS_HOST }}
username: ${{ vars.VPS_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
known_hosts: ${{ vars.SSH_KNOWN_HOSTS }}
source: "."
target: "~/app"
- name: Deployen
uses: appleboy/ssh-action@v1.2.0
with:
host: ${{ vars.VPS_HOST }}
username: ${{ vars.VPS_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
known_hosts: ${{ vars.SSH_KNOWN_HOSTS }}
script: |
set -e
cd ~/app
# Composer auf dem Host installieren falls nicht vorhanden
if [ ! -f ~/composer.phar ]; then
curl -sS https://getcomposer.org/installer | php -- --install-dir=~ --filename=composer.phar
fi
php ~/composer.phar install --no-dev --optimize-autoloader
docker compose up -d --build --remove-orphans
docker compose exec -T app php artisan migrate --force