Nakon ovog poglavlja
Što ćete znati napraviti
- Izraditi produkcijski checklist prije prve objave.
- Provesti deployment bez ručnog uređivanja koda na serveru.
- Nadzirati zdravlje i uvježbati povrat podataka.
Najmanje potrebno
Verzije, ekstenzije i ovlasti
Server treba podržanu PHP verziju, potrebne ekstenzije, web-poslužitelj, bazu i scheduler ili queue prema projektu. Aplikacija radi pod neprivilegiranim korisnikom. Samo direktoriji za runtime zapis dobivaju pravo pisanja.
Document root usmjerava se na public. APP_DEBUG je isključen, tajne su izvan repozitorija, HTTPS obavezan, a vrijeme sinkronizirano. Prije deploya provjeravamo dovoljno diska i valjan certifikat.
php -v
php -m
composer check-platform-reqs
composer validate --strict
composer audit
Artefakt, ne ručni zahvat
Ista sekvenca za svako izdanje
Kod se gradi iz označenog commita ili CI artefakta. composer install koristi lock datoteku i produkcijske opcije. Migracije moraju biti kompatibilne s verzijom aplikacije koja još kratko radi tijekom izmjene.
Praktičan raspored koristi direktorij releases i simboličku poveznicu current. Nakon pripreme novog izdanja atomski prebacujemo current, ponovno učitamo PHP procese i provjerimo health endpoint. Povrat znači vratiti prethodni release; migracija mora imati zaseban siguran plan.
composer install --no-dev --prefer-dist --optimize-autoloader --no-interaction
php bin/migrate.php --no-interaction
php bin/cache-warmup.php
# preusmjeri current na novo izdanje
# reload PHP-FPM
Objava nije kraj
Health, logovi, metrike i oporavak
Liveness provjera potvrđuje da proces odgovara, readiness da može obraditi stvaran zahtjev s ključnim ovisnostima. Strukturirani logovi, stopa 5xx odgovora, trajanje zahtjeva, queue zaostajanje i disk daju rani signal problema.
Backup bez testiranog restorea samo je nada. Definirajte RPO — koliko podataka smijete izgubiti — i RTO — koliko dugo oporavak smije trajati. Kopiju držite izvan istog servera, šifrirajte i redovito probno vratite.
- Automatski backup baze i korisničkih datoteka.
- Provjera integriteta i upozorenje na neuspjeh.
- Dokumentiran restore postupak.
- Periodična probna obnova u izolirano okruženje.
Primijenite naučeno
Vježba: Runbook za prvu objavu
Napišite izvršiv popis koraka za projekt knjige.
- Dodajte preflight, instalaciju, migraciju, prebacivanje i smoke test.
- Dodajte odgovornu osobu i kriterij za rollback.
- Zapišite backup i restore provjeru prije promjene.
Za provjeru i nastavak