gruby refaktor otyły panie
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
name: Deploy on merge to main
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
# ── 1. Checkout ──────────────────────────────────────────────────────────
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# ── 2. PHP + Composer ────────────────────────────────────────────────────
|
||||
- name: Set up PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: '8.3'
|
||||
extensions: pdo, pdo_sqlite, sqlite3
|
||||
|
||||
- name: Install Composer dependencies (production only)
|
||||
run: composer install --no-dev --optimize-autoloader
|
||||
|
||||
# ── 3. Pobierz aktualną bazę SQLite z serwera ────────────────────────────
|
||||
# data.sqlite3 z repo NIE trafia na serwer – ściągamy produkcyjną wersję,
|
||||
# uruchamiamy na niej migracje i wgrywamy z powrotem.
|
||||
- name: Install lftp
|
||||
run: sudo apt-get install -y lftp
|
||||
|
||||
- name: Download production data.sqlite3 via FTP
|
||||
run: |
|
||||
lftp -u "${{ secrets.FTP_USER }}","${{ secrets.FTP_PASS }}" \
|
||||
-e "set ftp:ssl-allow no; \
|
||||
set ssl:verify-certificate no; \
|
||||
get ${{ secrets.FTP_REMOTE_DIR }}/data.sqlite3 -o ./data.sqlite3; \
|
||||
quit" \
|
||||
${{ secrets.FTP_HOST }}
|
||||
|
||||
# ── 4. Uruchom migracje Phinx na pobranej bazie ──────────────────────────
|
||||
# phinx.php: 'name' => __DIR__ . '/data' → plik data.sqlite3
|
||||
- name: Run Phinx migrations
|
||||
run: ./vendor/bin/phinx migrate -e main
|
||||
|
||||
# ── 5. Wgraj pliki na serwer (z zaktualizowaną bazą) ────────────────────
|
||||
- name: Deploy files to server via FTP
|
||||
uses: SamKirkland/FTP-Deploy-Action@v4.3.5
|
||||
with:
|
||||
server: ${{ secrets.FTP_HOST }}
|
||||
username: ${{ secrets.FTP_USER }}
|
||||
password: ${{ secrets.FTP_PASS }}
|
||||
local-dir: ./
|
||||
server-dir: ${{ secrets.FTP_REMOTE_DIR }}/
|
||||
exclude: |
|
||||
**/.git/**
|
||||
**/.gitea/**
|
||||
**/tests/**
|
||||
**/docker/**
|
||||
**/html_template/**
|
||||
**/lib/**
|
||||
**/var/cache/**
|
||||
**/logs/**
|
||||
docker-compose*.yml
|
||||
Dockerfile
|
||||
phpunit.xml
|
||||
phpcs.xml
|
||||
phpstan.neon.dist
|
||||
README.md
|
||||
CONTRIBUTING.md
|
||||
.env*
|
||||
local.data.sqlite3
|
||||
server.data.sqlite3
|
||||
Reference in New Issue
Block a user