A Twelve-factor app alapján fogok pár dolgot az egyik projektemmel kapcsolatban megosztani. Jelenlegi cél a kiinduló állapot feljavítása, kezelhetőbbé tétele. A szokásos: megy a versenyautó és menet közben cserélünk motort. Szépen lépésenként egy jobb, karbantarthatóbb, stabilabb, biztosabb, működőbb környezet és kód felé haladva.
Tanulni, fejlődni, minden nap!
I. Codebase
A kódbázissal nem volt gond, ugyanis nem volt verziókezelve 😎 😆 (meglepő de egy másik projekt kapcsán is pont ezt mesélték, hogy eddig 2 fejlesztő dolgozott és most kezdték verziókelőbe beemelni a kódot) ezt gyorsan lehetett orvosolni egy github repositoryval. Ami még engem zavart, hogy semmi archívum, előzmény nem állt rendelkezésre, hogy mit csinált az előző fejlesztő az elmúlt időszakban.
Szerencsére a szerveren talált mentésekből (havi és napi 1 hétre visszamenőleg) végül sikerült gyártani egy kis verziótörténetet.
II. Dependencies
A függőségek a kódbázissal kéz a kézben jártak, a jövőben Composer-t használunk erre.
III. Config
Itt lesz teendő bőven, minden IS a kódba van égetve. Ezeket szépen el kell kezdeni kiszervezni. Ennek az első lépései megtörténtek. Én régebben az Apache-ban használtam ENV beállításokat, pl:
SetEnv APP_ENV "development"
Ez alapján már a fejlesztőkörnyezetből (Vagrant virtuális gép) az emailek nem kerülnek kiküldésre, hanem a MailHog kapja el őket.
Elkezdtem néhány Bash scriptet készíteni: init, külső programok telepítése (Composer, PHPUnit, PHPCPD, PHPMD és PHP-CS-Fixer) és itt is szükségem lett volna az APP_ENV
értékére, ami ugye Apache beállítás és CLI-ben nem elérhető.
Első körben átraktam mindent az /env/environment
-be, majd mivel nem akartam ezt a globális részt szemetelni, meg amúgy is szebb elkülönítve, illetve az ebben használt formátumot (APP_ENV=development
) az Apache /etc/apache2/envvars
nem tudta betölteni / feldolgozni, így a /etc/profile.d/CUSTOM-environment.sh
-be kerültek át az adatok, ide viszont már az export APP_ENV=development
formában.
Az Apache /etc/apache2/envvars
-ban meg simán berántható a fenti file tartalma:
# Load all the CUSTOM environment variables.
. /etc/profile.d/CUSTOM-environment.sh
Így most CLI-ben is megvannak a beállítások és az Apache-on keresztül a PHP is megkapja őket.
Top comments (0)