CI/CD és deployment
Automatikus deployment, CI/CD pipeline és zero-downtime élesítés Bedrock alapú WordPress oldalakon.
This content is not available in your language yet.
Automatikus deployment és zero-downtime élesítés
A HelloWP által üzemeltetett Bedrock oldalakon a deployment teljesen automatikus. Nem kell FTP-vel fájlokat feltölteni, nem kell a szerverre bejelentkezni - a kód push után automatikusan megjelenik az éles oldalon.
Hogyan működik a deployment?
Szekció neve “Hogyan működik a deployment?”Az egyszerű verzió
Szekció neve “Az egyszerű verzió”Fejlesztő commitol → Push a Git repóba → Szerver automatikusan frissülA részletes folyamat
Szekció neve “A részletes folyamat”- Fejlesztő push-ol a GitHub repóba (main vagy staging branch-re)
- A szerver észleli a változást (webhook)
- Új release mappa jön létre a szerveren
- Composer install lefut - a függőségek telepítésre kerülnek
- Szimlink váltás - az új verzió lesz az aktív
- Kész - az oldal az új kóddal fut
Zero-downtime deployment
Szekció neve “Zero-downtime deployment”A hagyományos WordPress frissítésnél a fájlok egyenként cserélődnek, ami alatt az oldal hibás állapotban lehet (pl. félig frissített bővítmény). A Bedrock deploymentnél ez nem fordulhat elő.
Hogyan valósul meg?
Szekció neve “Hogyan valósul meg?”A szerveren a deployment könyvtárstruktúra így néz ki:
site/├── current → releases/20240315143022 # Szimlink az aktív verzióra├── releases/│ ├── 20240315143022/ # Legújabb (aktív)│ ├── 20240314091500/ # Előző│ └── 20240312163045/ # Korábbi└── shared/ ├── .env # Megosztott konfigurációi └── web/app/uploads/ # Megosztott feltöltések- Minden deploy egy új mappát hoz létre a
releases/alatt - A
currentszimlink azonnal átvált az új mappára - Az átváltás atomi művelet - nincs köztes, hibás állapot
- Ha valami nem stimmel, a szimlink visszaállítása másodpercek kérdése
Mi történik hiba esetén?
Szekció neve “Mi történik hiba esetén?”Automatikus visszaállítás
Szekció neve “Automatikus visszaállítás”Ha a deployment során hiba történik (pl. a Composer nem tud telepíteni egy csomagot), a régi verzió aktív marad. Az oldal nem áll le, a látogatók nem észlelnek semmit.
Manuális visszaállítás
Szekció neve “Manuális visszaállítás”Ha egy sikeres deployment után derül ki a hiba, a HelloWP csapata másodpercek alatt visszaállíthatja az előző verziót.
Fejlesztőként a Git-ben is visszavonhatod a változást:
# Az utolsó commit visszavonása (új committal)git revert HEADgit push origin main# → Automatikus deploy a visszavont állapottalCI/CD pipeline
Szekció neve “CI/CD pipeline”A HelloWP szerverei alapértelmezetten egyszerű webhook alapú deploymentet használnak. Összetettebb projekteknél GitHub Actions alapú CI/CD pipeline is beállítható.
Alap webhook deployment
Szekció neve “Alap webhook deployment”Push → Webhook → Deploy- Egyszerű, gyors, megbízható
- Minden push-ra automatikusan fut
- A legtöbb projekthez elegendő
GitHub Actions pipeline (összetett projektek)
Szekció neve “GitHub Actions pipeline (összetett projektek)”Push → GitHub Actions → Tesztek → Build → DeployEzt akkor érdemes használni, ha:
- Automatikus teszteket szeretnél futtatni minden push előtt
- Frontend build lépés szükséges (pl. npm build)
- Több környezetre (staging + éles) kell deployolni
- Code review kötelező a main branch-be mergelésnél
Fejlesztői környezetek
Szekció neve “Fejlesztői környezetek”| Környezet | Branch | Deploy | Cél |
|---|---|---|---|
| Lokális | bármelyik | - | Fejlesztés, tesztelés |
| Staging | staging |
Automatikus | Ügyfél jóváhagyás, tesztelés |
| Éles | main |
Automatikus | Publikus oldal |
Best practices
Szekció neve “Best practices”Tesztelj deployolás előtt
Szekció neve “Tesztelj deployolás előtt”- Lokálisan ellenőrizd, hogy
composer installhiba nélkül lefut - Nézd meg az oldalt lokálisan, mielőtt push-olsz
Kis, gyakori deployok
Szekció neve “Kis, gyakori deployok”- Inkább kis módosításokat push-olj gyakran, mint nagy változásokat ritkán
- Egy commit = egy logikai változás
- Ha valami elromlik, könnyebb megtalálni a hibát kis commitokban
Ne push-olj pénteken
Szekció neve “Ne push-olj pénteken”Klasszikus szabály: ha nem muszáj, pénteken ne élesíts nagy változtatásokat. Ha probléma van, a hétvégén nehezebb kezelni.