Nasadzovanie z GitLabu

Nasadzovanie aplikácií sme z ručných krokov presunuli do GitLab CI/CD, pripravili opakovateľné nastavenie virtuálnych serverov a zautomatizovali prevádzkové úlohy, ktoré dovtedy robil človek.

Orgán verejnej moci (klienta neuvádzame kvôli NDA) Web GitLab CI/CD · Linux · Nginx · PHP-FPM
Zálohy dokončené, 24 webov záloha WordPress 6.9.2 nasadený na testovacej kópii aktualizácia Certifikát obnovený, platný 90 dní certifikát Pomalá odozva 1,9 s, vyriešená do 12 minút incident Bezpečnostný sken: 0 kritických nálezov sken Rýchlosť webu v zelenom po zmenšení obrázkov rýchlosť Blokovaných 214 pokusov o prihlásenie ochrana
01 — Zadanie

Zadanie

Aplikácie sa nasadzovali ručne. Postup poznal ten, kto ho robil naposledy, a časť krokov žila v poznámkach. Každé vydanie tak bolo iné a chyba sa prejavila až na produkcii.

Prostredia sa medzi sebou líšili – iné verzie, iné nastavenie, iné cesty. „U mňa to funguje“ bolo pri hľadaní príčiny bežnou odpoveďou a overiť sa to dalo len ťažko.

Rovnaký problém mala prevádzka: zálohy, obnova certifikátov aj údržbové úlohy záviseli od toho, či si na ne niekto spomenie.

02 — Riešenie

Riešenie

Nasadzovanie sme presunuli do GitLab CI/CD. Pipeline zbehne kontroly a testy, zostaví balík a nasadí ho na cieľový server. Nasadenie na produkciu ostáva rozhodnutím človeka – spúšťa ho ručne schválený krok, samotný postup je však vždy ten istý.

Nasadenie prebieha do nového adresára s prepnutím symbolického odkazu, takže návrat na predošlú verziu je prepnutie späť, nie oprava za behu. Migrácie databázy a čistenie cache sú súčasťou pipeline, nie samostatné kroky po nasadení.

Prípravu virtuálnych serverov sme zapísali do skriptov: webový server, PHP-FPM, databáza, certifikáty, firewall a používatelia pre nasadzovanie. Nový server tak vzniká rovnako ako ten predošlý a testovacie prostredie zodpovedá produkčnému.

Prevádzkové rutiny bežia automaticky – zálohy s overením, že sa dajú obnoviť, obnova certifikátov, rotácia logov a údržbové úlohy. Zlyhanie sa ohlási, nečaká sa, kým si ho niekto všimne.

03 — Výsledok

Výsledok

Nasadenie je zopakovateľný postup s rovnakým výsledkom namiesto ručnej série krokov. Návrat na predchádzajúcu verziu je otázka prepnutia, čo znižuje cenu chyby pri vydaní.

Testovacie a produkčné prostredie sa už nelíšia náhodne, takže problém sa dá spoľahlivo reprodukovať mimo produkcie. Zálohy a údržba bežia bez toho, aby na ne niekto musel myslieť.

Podobné zadanie vo vašej firme?

Ozvite sa s tým, čo dnes nefunguje. Úvodná konzultácia je nezáväzná a odpovieme do 24 hodín v pracovné dni.

  • 01 Úvodná konzultácia je nezáväzná a bez poplatku.
  • 02 Ponuka je písomná, s rozpisom prác.
  • 03 Kód, prístupy aj obsah ostávajú vaše.
Ďalej

Ďalšie prípadové štúdie

Webové sídlo Ministerstva cestovného ruchu a športu SR
Web

Webové sídlo Ministerstva cestovného ruchu a športu SR

Webové sídlo ministerstva sme z WordPressu preniesli na redakčný systém napísaný na mieru. Cieľom bolo zvládnuť rozsiahlu štruktúru obsahu, dvojjazyčnosť a stovky zverejňovaných dokumentov bez závislosti na reťazci pluginov.

Čítať štúdiu
Integrácie na slovensko.sk a elektronické podpisovanie
Web

Integrácie na slovensko.sk a elektronické podpisovanie

Elektronická komunikácia s občanmi a inštitúciami cez Ústredný portál verejnej správy: príprava elektronických formulárov, prijímanie a odosielanie podaní a podpisovanie dokumentov kvalifikovaným elektronickým podpisom.

Čítať štúdiu
Dohľad nad servermi v izolovanom prostredí za VPN
Web

Dohľad nad servermi v izolovanom prostredí za VPN

Klient prevádzkuje vlastné servery a o výpadkoch sa dozvedal od používateľov. Postavili sme monitorovací systém vo vyhradenom virtuálnom stroji, ktorý nie je dostupný z internetu – pracuje sa s ním len cez VPN – a ktorý sleduje dostupnosť, výkon aj kapacitu a upozorní skôr, než sa niečo zastaví.

Čítať štúdiu