Produkční vs dev server a detekce režimu

- akadlec
- Člen | 1326
Zkoušel jsem hledat ale nenašel jsem jak to řešit na verzi 2.1
Nahodil jsem si projekt na virtualbox s pomocí vagrant a puphpet a ehjle
narazil jsem na problem s detekcí dev prostředí. Přidal jsem si na server
proměnnou prostředí APP_ENV a v bootstrapu zkusil nette
donutit pracovat jako na devu nějak takto:
// Set environment
$configurator->addParameters(array(
'environment' => getenv('APP_ENV') == 'dev' ? 'development' : 'production'
));
// Force debug mode
$configurator->setDebugMode(getenv('APP_ENV') == 'dev' ? TRUE : FALSE);
je to ok, nebo by se to mělo řešit jinak?

- fabian
- Člen | 20
Ahoj,
taky zkousim pouzivat Vagranta (moje konfigurace na githubu), kde Apache
bezi na 192.168.33.10 a v boostrapu jsem to nastavil takto:
$environment = $configurator::PRODUCTION;
if (in_array($_SERVER['SERVER_ADDR'], array('127.0.0.1', '192.168.33.10'))) {
$configurator->setDebugMode(TRUE);
$environment = $configurator::DEVELOPMENT;
}
$configurator->addConfig(__DIR__ . '/config/config.neon', $environment);
Pokud nemas v configu definovano production a development sekce, tak $environment muzes vypustit a budes si treba davat ruzne configy pres $configurator->addConfig().
Jinak jak jsi spokojen s rychlosti virtualu pres Vagrant? Ja jsem po instalaci a vyladeni instalacnich scriptu v Puppetu zjistil, ze Nette Sandbox projekt trva 3.7s, nez se nacte. A kdyz jsem tam dal nejakej muj jinej projekt, kde uz je nejaka vetsi logika, tak je to nepouzitelny. Aktualne teda hledam, jak Vagrant virtual zrychlit. Kdyz koukam do htop, tak pri loadu stranky Apache vytizi procesor na 100%.
vagrant@precise32:~$ cat /proc/cpuinfo |grep MHz
cpu MHz : 2804.930

- mkoubik
- Člen | 728
Pokud vám vadí rychlost virtualizovaného prosředí, tak mrkněte na http://docker.io, v něm procesy běží nativně, ale jsou izolovány ve svém „kontejneru“.

- Tomáš Kolinger
- Člen | 136
Mě by zajímal důvod, proč se něco snažit virtualizovat…
U PHP není problém sehnat binárky na Windows, včetně nadstandardních extensions… Takže proč se trestat virtualizací?
Já osobně mám taky Windows a zatím jsem nenarazil na technologii, kde bych musel virtualizovat. Samozřejmě někdy dá práci to rozjet ale ve finále se to vyplatí, protože je lepší ztratit čas jednorázově, než ztrácet čas neustále, kdy budu řešit (či čekat) než kód dostanu na virtualizovanej Linux a než to virtuál překousá…
BTW: docker využívá linuxovej container, takže to na Windows určitě nepůjde
Editoval Tomáš Kolinger (3. 4. 2014 15:37)

- jiri.pudil
- Nette Blogger | 1034
Mě by zajímal důvod, proč se něco snažit virtualizovat…
Například aby všichni v týmu vyvíjeli na stejném prostředí, ideálně podobném produkčnímu serveru. Nebo aby si kodér (na Macu, kde to s binárkami tak slavné není) dokázal rozjet projekt, aniž by se musel trápit s instalací knihoven a rozšíření.

- akadlec
- Člen | 1326
@Tomáš Kolinger: jednoduše proto abys co nejvěrněji nasimuloval produkční prostředí, pokud ti prod jede na linuxu.
Ano jak jsem uvedl, normálně jedu na wampu pod okny, funguje to ok, ale né vše co je na produ dokážu dát na oknech.
BTW: docker sice využívá linuxovej kontajner, a právě proto se instaluje na virtuální stroj který rozjedeš i klidně na oknech. Stejně tak ten vagrant ti běží pod virtuálním strojem na linuxu. A díky vagrantu a jeho propojení virtuálu na „fyzický“ filesystém ti právě odpadá to „dostávání“ dat na linux server.

- fabian
- Člen | 20
>
Mě by zajímal důvod, proč se něco snažit virtualizovat…
Kolega koder chce zacit pouzivat SASS a takovyhle veci, kvuli kterejm je potreba si lokalne rozjet spoustu veci. To vsechno by pekne vyresilo virtualizovane prostredi, kde se to nasetupuje jednou a pak to muze pouzivat X lidi. Naopak, kdyz ja se misto MySQL na nejakem projektu rozhodnu pouzivat treba MongoDB, tak ho nkonfiguruju pro virtual, ostatni si ho updatnou a nemusej resit, co kde si lokalne nainstalovat.
Jo Docker je pro Linux, ja jedu na Macu, takze by to bylo stejne virtualizovane. Predpokladam, ze pak bude podobna rychlost? Nebo to ma nekdo docker ve virtualizaci ozkouseny?

- mkoubik
- Člen | 728
BTW: docker sice využívá linuxovej kontajner, a právě proto se instaluje na virtuální stroj který rozjedeš i klidně na oknech.
Nedošlo mi že se bavíte o windows, docker mi přijde výhodný pokud používáš linux, pak máš vývojové prostředí izolované a zároveň ti běží přímo nad tvým jádrem bez virtualizace.
Jinak virtualizuje se také proto, aby sis vývojovým prostředím nezapleveloval svůj OS a abys mezi nimi mohl snadno přepínat když pracuješ na různých projektech (různé verze, knihovny, nastavení, nástroje).