{"id":245,"date":"2025-10-02T00:00:00","date_gmt":"2025-10-01T22:00:00","guid":{"rendered":"https:\/\/helloblog.io\/hu\/zero-downtime-wordpress-deploy-trellis\/"},"modified":"2026-01-20T06:32:33","modified_gmt":"2026-01-20T05:32:33","slug":"zero-downtime-wordpress-deploy-trellis","status":"publish","type":"post","link":"https:\/\/helloblog.io\/hu\/zero-downtime-wordpress-deploy-trellis\/","title":{"rendered":"Zero downtime WordPress deploy Trellis-szel: atomikus kiad\u00e1s, azonnali rollback"},"content":{"rendered":"\n<p>Ha WordPress-t \u00fczemeltetsz, val\u00f3sz\u00edn\u0171leg tal\u00e1lkozt\u00e1l m\u00e1r azzal a kellemetlen jelens\u00e9ggel, amikor egy friss\u00edt\u00e9s alatt a site p\u00e1r percre \u201efurcs\u00e1n\u201d viselkedik: admin oldalak 500-at dobnak, a frontenden hi\u00e1nyzik egy asset, vagy egyszer\u0171en csak valami nem kompatibilis f\u00e9l\u00e1llapotban t\u00f6lt\u0151dik be. Ez tipikusan nem (csak) WordPress-probl\u00e9ma, hanem <em>deployment<\/em> (telep\u00edt\u00e9si\/kitelep\u00edt\u00e9si folyamat) probl\u00e9ma.<\/p>\n\n\n\n<p>A Trellis (a Roots eszk\u00f6zk\u00e9szlet r\u00e9sze) erre ad egy modern, alkalmaz\u00e1sfejleszt\u00e9sben bevett v\u00e1laszt: <strong>zero downtime deploymentet<\/strong> (le\u00e1ll\u00e1s n\u00e9lk\u00fcli telep\u00edt\u00e9st) <em>atomikus<\/em> kiad\u00e1skezel\u00e9ssel. A j\u00f3 h\u00edr, hogy a Trellis-t nem musz\u00e1j a teljes fejleszt\u0151i workflow-dhoz hozz\u00e1adni: sokan kifejezetten csak deployol\u00e1sra haszn\u00e1lj\u00e1k Bedrock-alap\u00fa projektekhez, mik\u00f6zben lok\u00e1lban marad a megszokott k\u00f6rnyezet (Valet, Lando, DDEV, stb.).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mit jelent a \u201ezero downtime\u201d deploy a gyakorlatban?<\/h2>\n\n\n\n<p>Zero downtime deployn\u00e1l a weboldal a telep\u00edt\u00e9s teljes ideje alatt kiszolg\u00e1lhat\u00f3 \u00e9s m\u0171k\u00f6d\u0151k\u00e9pes marad. A tr\u00fckk nem az, hogy \u201enagyon gyorsan m\u00e1solunk fel f\u00e1jlokat\u201d, hanem az, hogy <strong>nincs olyan k\u00f6ztes \u00e1llapot<\/strong>, amikor a l\u00e1togat\u00f3k egyszerre kapnak r\u00e9gi \u00e9s \u00faj f\u00e1jlokat.<\/p>\n\n\n\n<p>A hagyom\u00e1nyos WordPress deployn\u00e1l gyakori, hogy a friss\u00edtett f\u00e1jlok <em>helyben fel\u00fcl\u00edr\u00f3dnak<\/em>. Ez felt\u0171n\u00e9s n\u00e9lk\u00fcl is okozhat hib\u00e1kat: egy \u00faj PHP oszt\u00e1ly m\u00e1r fent van, de a hozz\u00e1 tartoz\u00f3 autoload m\u00e9g r\u00e9gi; egy \u00faj JS bundle m\u00e1r bet\u00f6lt, de a hozz\u00e1 tartoz\u00f3 CSS m\u00e9g nem; vagy pont ford\u00edtva. A v\u00e9geredm\u00e9ny random hib\u00e1k a deploy ablaka alatt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mi\u00e9rt probl\u00e9m\u00e1s a \u201eklasszikus\u201d WordPress deploy?<\/h2>\n\n\n\n<p>A legt\u00f6bb WordPress telep\u00edt\u00e9s valamilyen, f\u00e1jlokat helyben m\u00f3dos\u00edt\u00f3 m\u00f3dszerrel megy \u00e9lesbe. Tipikus mint\u00e1k:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>FTP felt\u00f6lt\u00e9s:<\/strong> manu\u00e1lisan fel\u00fcl\u00edrod a v\u00e1ltozott f\u00e1jlokat. Lass\u00fa, \u00e9s am\u00edg tart, a site k\u00f6nnyen kevert \u00e1llapotban fut.<\/li>\n\n\n<li><strong>F\u00e1jlszinkron (pl. <code>rsync<\/code>):<\/strong> gyorsabb, de alapvet\u0151en ugyanazt csin\u00e1lja: \u00e9l\u0151ben \u00edrja \u00e1t a f\u00e1jlokat.<\/li>\n\n\n<li><strong>Host \u00e1ltal adott b\u0151v\u00edtm\u00e9nyes deploy:<\/strong> k\u00e9nyelmes, de sok esetben szint\u00e9n in-place friss\u00edt, \u00e9s rollback (visszag\u00f6rget\u00e9s) n\u00e9lk\u00fcl kock\u00e1zatos.<\/li>\n\n<\/ul>\n\n\n\n<p>A k\u00f6z\u00f6s nevez\u0151: <strong>deploy k\u00f6zben el tud romlani a site<\/strong>, \u00e9s ha gond van, gyakran nincs egy gombnyom\u00e1sos vissza\u00fat. Legjobb esetben is \u201egyorsan visszat\u00f6lt\u00f6d\u201d a r\u00e9git, ami stresszes \u00e9s hibalehet\u0151s\u00e9gekkel teli.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A Trellis megold\u00e1sa: atomikus (\u00e9s immut\u00e1bilis) deploy<\/h2>\n\n\n\n<p>A Trellis atomikus deploy-strat\u00e9gi\u00e1t haszn\u00e1l: az \u00faj verzi\u00f3 <strong>k\u00fcl\u00f6n k\u00f6nyvt\u00e1rba<\/strong> ker\u00fcl fel\u00e9p\u00edt\u00e9sre, a fut\u00f3 verzi\u00f3t pedig nem piszk\u00e1lja. Amikor minden k\u00e9sz, a v\u00e1lt\u00e1s egyetlen l\u00e9p\u00e9s: a webszerver \u00e1ltal haszn\u00e1lt <code>current<\/code> symlink \u00e1tmutat az \u00faj kiad\u00e1sra.<\/p>\n\n\n\n<p>Ez a megk\u00f6zel\u00edt\u00e9s <strong>immut\u00e1bilis<\/strong> is: egy m\u00e1r kitelep\u00edtett kiad\u00e1s f\u00e1jljait nem m\u00f3dos\u00edtja helyben. Minden deploy egy \u00faj, \u00f6n\u00e1ll\u00f3 release k\u00f6nyvt\u00e1r.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Milyen k\u00f6nyvt\u00e1rstrukt\u00far\u00e1t hoz l\u00e9tre?<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>\/srv\/www\/example.com\/\n\u251c\u2500\u2500 current\/             # Symlink az akt\u00edv release-re\n\u251c\u2500\u2500 releases\/            # Minden kitelep\u00edtett kiad\u00e1s\n\u2502   \u251c\u2500\u2500 20250930124530\/\n\u2502   \u251c\u2500\u2500 20250930083045\/\n\u2502   \u2514\u2500\u2500 20250930141622\/  # Legfrissebb\n\u251c\u2500\u2500 shared\/              # Megosztott er\u0151forr\u00e1sok a release-ek k\u00f6z\u00f6tt\n\u2502   \u2514\u2500\u2500 uploads\/\n\u2514\u2500\u2500 logs\/\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">\/srv\/www\/example.com\/<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">\u251c\u2500\u2500<\/span><span style=\"color:#9ECBFF\"> current\/<\/span><span style=\"color:#6A737D\">             # Symlink az akt\u00edv release-re<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">\u251c\u2500\u2500<\/span><span style=\"color:#9ECBFF\"> releases\/<\/span><span style=\"color:#6A737D\">            # Minden kitelep\u00edtett kiad\u00e1s<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">\u2502<\/span><span style=\"color:#9ECBFF\">   \u251c\u2500\u2500<\/span><span style=\"color:#9ECBFF\"> 20250930124530\/<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">\u2502<\/span><span style=\"color:#9ECBFF\">   \u251c\u2500\u2500<\/span><span style=\"color:#9ECBFF\"> 20250930083045\/<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">\u2502<\/span><span style=\"color:#9ECBFF\">   \u2514\u2500\u2500<\/span><span style=\"color:#9ECBFF\"> 20250930141622\/<\/span><span style=\"color:#6A737D\">  # Legfrissebb<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">\u251c\u2500\u2500<\/span><span style=\"color:#9ECBFF\"> shared\/<\/span><span style=\"color:#6A737D\">              # Megosztott er\u0151forr\u00e1sok a release-ek k\u00f6z\u00f6tt<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">\u2502<\/span><span style=\"color:#9ECBFF\">   \u2514\u2500\u2500<\/span><span style=\"color:#9ECBFF\"> uploads\/<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">\u2514\u2500\u2500<\/span><span style=\"color:#9ECBFF\"> logs\/<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>A l\u00e9nyeg a <code>current<\/code>: a webszerver mindig innen szolg\u00e1l ki, de ez val\u00f3j\u00e1ban csak egy symlink valamelyik <code>releases\/...<\/code> k\u00f6nyvt\u00e1rra. A v\u00e1lt\u00e1s \u00edgy atomi m\u0171velet: egyik pillanatban a r\u00e9gi release-re mutat, a k\u00f6vetkez\u0151 pillanatban az \u00fajra.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mi t\u00f6rt\u00e9nik egy <code>trellis deploy production<\/code> sor\u00e1n?<\/h3>\n\n\n\n<p>A Trellis a deployt t\u00f6bb, j\u00f3l elk\u00fcl\u00f6n\u00edthet\u0151 l\u00e9p\u00e9sben futtatja le. Nagyj\u00e1b\u00f3l ez a folyamat:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li><strong>Inicializ\u00e1l\u00e1s:<\/strong> ellen\u0151rzi\/l\u00e9trehozza a sz\u00fcks\u00e9ges k\u00f6nyvt\u00e1rakat, \u00e9s l\u00e9trehoz egy \u00faj release mapp\u00e1t id\u0151b\u00e9lyeggel (pl. <code>20250930141622<\/code>).<\/li>\n\n\n<li><strong>Update:<\/strong> a legfrissebb k\u00f3dot a Git repository-b\u00f3l egy ideiglenes forr\u00e1sk\u00f6nyvt\u00e1rba kl\u00f3nozza (nem a live k\u00f3d f\u00f6l\u00e9).<\/li>\n\n\n<li><strong>Prepare:<\/strong> a forr\u00e1sb\u00f3l \u00e1tm\u00e1solja az anyagot az \u00faj release mapp\u00e1ba.<\/li>\n\n\n<li><strong>Build:<\/strong> lefuttatja a <code>composer install<\/code>-t, hogy a f\u00fcgg\u0151s\u00e9gek let\u00f6lt\u0151djenek.<\/li>\n\n\n<li><strong>Share:<\/strong> a megosztott er\u0151forr\u00e1sokat (p\u00e9ld\u00e1ul felt\u00f6lt\u00e9sek) a <code>shared<\/code> k\u00f6nyvt\u00e1rb\u00f3l symlinkeli be az \u00faj release-be.<\/li>\n\n\n<li><strong>Finalize:<\/strong> friss\u00edti a <code>current<\/code> symlinkel\u00e9st az \u00faj release-re.<\/li>\n\n<\/ol>\n\n\n\n<p>A kritikus r\u00e9sz az, hogy a felhaszn\u00e1l\u00f3k nem tal\u00e1lkoznak \u201ef\u00e9lk\u00e9sz\u201d \u00e1llapottal: a v\u00e1lt\u00e1s a <code>current<\/code> symlink cser\u00e9je, ami gyakorlatilag azonnali.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Adatb\u00e1zis: a deployt\u00f3l f\u00fcggetlen k\u00e9rd\u00e9s<\/h2>\n\n\n\n<p>Fontos korl\u00e1t: a Trellis a <strong>k\u00f3db\u00e1zis<\/strong> zero downtime kitelep\u00edt\u00e9s\u00e9t oldja meg. Az adatb\u00e1zis-s\u00e9ma m\u00f3dos\u00edt\u00e1s (migr\u00e1ci\u00f3) k\u00fcl\u00f6n t\u00e9ma, \u00e9s a Trellis dokument\u00e1ci\u00f3ja is jelzi, hogy a <em>database migrations<\/em> nem r\u00e9sze a Trellis deploynak.<\/p>\n\n\n\n<p>Ha Acorn-t haszn\u00e1lsz (Roots-projekt, ami Laravel-szer\u0171 keretet ad WordPress mell\u00e9), akkor lehet\u0151s\u00e9ged van <strong>Laravel migration<\/strong>-\u00f6ket k\u00e9sz\u00edteni WordPress projekthez, \u00e9s gondoskodni arr\u00f3l, hogy ezek a deploy folyamat r\u00e9szek\u00e9nt lefussanak.<\/p>\n\n\n\n<div class=\"wp-block-group callout callout-warning is-style-warning is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">Gyakorlati megfontol\u00e1s<\/h4>\n\n\n<p>Zero downtime k\u00f3dv\u00e1lt\u00e1s mellett is lehet \u201edowntime-szer\u0171\u201d hat\u00e1sa egy rosszul id\u0151z\u00edtett vagy nem kompatibilis adatb\u00e1zis-migr\u00e1ci\u00f3nak. A k\u00f3d- \u00e9s DB-v\u00e1ltoz\u00e1sok visszafel\u00e9 kompatibilit\u00e1sa kulcsk\u00e9rd\u00e9s.<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Azonnali rollback: a legnagyobb stresszcs\u00f6kkent\u0151 feature<\/h2>\n\n\n\n<p>Az atomikus\/immut\u00e1bilis modell egyik legnagyobb el\u0151nye a <strong>gyors visszag\u00f6rget\u00e9s<\/strong>. Mivel minden release teljes, \u00e9rintetlen mapp\u00e1ban \u00e9l, rollback eset\u00e9n csak a symlinket kell egy kor\u00e1bbi kiad\u00e1sra vissza\u00e1ll\u00edtani:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>trellis rollback production\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">trellis<\/span><span style=\"color:#9ECBFF\"> rollback<\/span><span style=\"color:#9ECBFF\"> production<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Alap\u00e9rtelmezetten a Trellis az \u00f6t legut\u00f3bbi release-t megtartja a szerveren, \u00edgy \u00e1ltal\u00e1ban van mihez visszany\u00falni, ha egy friss\u00edt\u00e9s ut\u00e1n der\u00fcl ki valami kellemetlen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Deploy hookok: testreszab\u00e1s a kritikus pontokon<\/h2>\n\n\n\n<p>A Trellis deployja nem fekete doboz: t\u00f6bb hookot (beakaszthat\u00f3 pontot) ad, amelyekkel a folyamat egyes l\u00e9p\u00e9sei el\u00e9 vagy m\u00f6g\u00e9 tudsz saj\u00e1t feladatokat rakni. P\u00e9ld\u00e1k:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><code>deploy_build_before<\/code> \u00e9s <code>deploy_build_after<\/code>: extra build l\u00e9p\u00e9sekhez<\/li>\n\n\n<li><code>deploy_finalize_before<\/code> \u00e9s <code>deploy_finalize_after<\/code>: \u00e9les\u00edt\u00e9s el\u0151tti\/ut\u00e1ni feladatokhoz<\/li>\n\n\n<li>Hookok a f\u0151 deploy f\u00e1zisokhoz: initialize, update, prepare, build, share, finalize<\/li>\n\n<\/ul>\n\n\n\n<p>Ezekkel olyan mint\u00e1kat lehet kultur\u00e1ltan megval\u00f3s\u00edtani, mint p\u00e9ld\u00e1ul deploy el\u0151tti adatb\u00e1zis-ment\u00e9s, cache \u00fcr\u00edt\u00e9s a v\u00e1lt\u00e1s ut\u00e1n, \u00e9rtes\u00edt\u00e9sek k\u00fcld\u00e9se, vagy ak\u00e1r smoke testek futtat\u00e1sa a frissen elk\u00e9sz\u00fclt release ellen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hogyan indulj el (minimum l\u00e9p\u00e9sek)?<\/h2>\n\n\n\n<p>A Trellis-es zero downtime deploy tipikusan Bedrock-alap\u00fa projektre \u00e9p\u00fcl (a Bedrock a Roots modernebb WordPress projektstrukt\u00far\u00e1ja). A bejelent\u00e9s szerinti alapfolyamat:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li>\u00c1ll\u00edtsd be a projektet <strong>Bedrock<\/strong>-kal.<\/li>\n\n\n<li>Telep\u00edtsd a <strong>Trellis<\/strong>-t, \u00e9s konfigur\u00e1ld a deploy be\u00e1ll\u00edt\u00e1sokat.<\/li>\n\n\n<li>A <code>wordpress_sites.yml<\/code> f\u00e1jlban add meg a Git repository inform\u00e1ci\u00f3it.<\/li>\n\n\n<li>Futtasd: <code>trellis deploy production<\/code>.<\/li>\n\n<\/ol>\n\n\n\n<p>Az els\u0151 deploy jellemz\u0151en lassabb, mert ekkor \u00e9p\u00fcl fel a k\u00f6nyvt\u00e1rstrukt\u00fara \u00e9s ker\u00fclnek fel a f\u00fcgg\u0151s\u00e9gek. A tov\u00e1bbi deployok gyorsabbak, \u00e9s a l\u00e9nyeg: a k\u00f3dv\u00e1lt\u00e1s k\u00f6zben nem kell a l\u00e1togat\u00f3k \u00e1ltal tapasztalt hib\u00e1kkal sz\u00e1molni.<\/p>\n\n\n\n<p>Plusz praktikus opci\u00f3: ha nem akarsz mindent Trellis-szel megoldani, haszn\u00e1lhatod kiz\u00e1r\u00f3lag kitelep\u00edt\u00e9sre is, mik\u00f6zben a lok\u00e1lis fejleszt\u00e9s megmarad a saj\u00e1t eszk\u00f6zeiddel, \u00e9s ak\u00e1r olyan szerverre is deployolhatsz, amit nem Trellis-szel provision\u00e1lt\u00e1l.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00d6sszefoglal\u00f3: mikor \u00e9ri meg Trellis-szel atomikus deployra v\u00e1ltani?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Ha fontos, hogy deploy k\u00f6zben se l\u00e1ssanak hib\u00e1t a felhaszn\u00e1l\u00f3k (nincs kevert f\u00e1jl\u00e1llapot).<\/li>\n\n\n<li>Ha kell egy <strong>biztos, gyors rollback<\/strong> lehet\u0151s\u00e9g p\u00e1nik n\u00e9lk\u00fcl.<\/li>\n\n\n<li>Ha szeretn\u00e9l modernebb release-kezel\u00e9st WordPress-hez is, a megszokott appos mint\u00e1k ment\u00e9n.<\/li>\n\n\n<li>Ha Bedrock-ot haszn\u00e1lsz (vagy tervezel), \u00e9s Git-alap\u00fa deployban gondolkodsz.<\/li>\n\n<\/ul>\n\n\n<div class=\"references-section\">\n                <h2>Hivatkoz\u00e1sok \/ Forr\u00e1sok<\/h2>\n                <ul class=\"references-list\"><li><a href=\"https:\/\/roots.io\/zero-downtime-wordpress-deployments-with-trellis\/\" target=\"_blank\" rel=\"noopener noreferrer\">Zero Downtime WordPress Deployments with Trellis<\/a><\/li><li><a href=\"https:\/\/roots.io\/trellis\/docs\/deployments\/\" target=\"_blank\" rel=\"noopener noreferrer\">Deployments | Trellis Documentation<\/a><\/li><li><a href=\"https:\/\/roots.io\/acorn\/docs\/creating-and-running-laravel-migrations\/\" target=\"_blank\" rel=\"noopener noreferrer\">Creating and running Laravel migrations | Acorn Documentation<\/a><\/li><li><a href=\"https:\/\/roots.io\/bedrock\/\" target=\"_blank\" rel=\"noopener noreferrer\">Bedrock<\/a><\/li><li><a href=\"https:\/\/roots.io\/trellis\/\" target=\"_blank\" rel=\"noopener noreferrer\">Trellis<\/a><\/li><\/ul>\n            <\/div>","protected":false},"excerpt":{"rendered":"<p>A klasszikus WordPress deploy (FTP, rsync, hostos b\u0151v\u00edtm\u00e9ny) gyakran azt jelenti, hogy \u00e9lesben \u201ef\u00e9l\u00faton\u201d \u00e1ll a k\u00f3d, \u00e9s a l\u00e1togat\u00f3k hib\u00e1kat l\u00e1tnak. A Trellis atomikus deploy-strat\u00e9gi\u00e1ja ezt \u00fagy ker\u00fcli el, hogy a teljes \u00faj kiad\u00e1st izol\u00e1ltan k\u00e9sz\u00edti el\u0151, majd egyetlen symlink-cser\u00e9vel v\u00e1lt.<\/p>\n","protected":false},"author":3,"featured_media":244,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[101,109,110,108,10],"class_list":["post-245","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress-okoszisztema","tag-bedrock","tag-deploy","tag-devops","tag-trellis","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/helloblog.io\/hu\/wp-json\/wp\/v2\/posts\/245","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helloblog.io\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helloblog.io\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helloblog.io\/hu\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/helloblog.io\/hu\/wp-json\/wp\/v2\/comments?post=245"}],"version-history":[{"count":1,"href":"https:\/\/helloblog.io\/hu\/wp-json\/wp\/v2\/posts\/245\/revisions"}],"predecessor-version":[{"id":255,"href":"https:\/\/helloblog.io\/hu\/wp-json\/wp\/v2\/posts\/245\/revisions\/255"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helloblog.io\/hu\/wp-json\/wp\/v2\/media\/244"}],"wp:attachment":[{"href":"https:\/\/helloblog.io\/hu\/wp-json\/wp\/v2\/media?parent=245"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helloblog.io\/hu\/wp-json\/wp\/v2\/categories?post=245"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helloblog.io\/hu\/wp-json\/wp\/v2\/tags?post=245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}