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 GIT_COMMIT=${{ github.sha }} OAUTH_CLOUDSPICESBLUE_ID=${{ secrets.OAUTH_CLOUDSPICESBLUE_ID }} OAUTH_CLOUDSPICESBLUE_SECRETKEY=${{ secrets.OAUTH_CLOUDSPICESBLUE_SECRETKEY }} OAUTH_CLOUDSPICESBLUE_REDIRECTURI=${{ vars.OAUTH_CLOUDSPICESBLUE_REDIRECTURI }} EOF - name: PHP-Quellverzeichnisse leeren 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: rm -rf ~/app/app ~/app/routes ~/app/config ~/app/database ~/app/resources ~/app/bootstrap - 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 docker compose up -d --build --remove-orphans docker compose exec -T app php artisan migrate --force