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

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
akadlec
Člen | 1326
+
0
-

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
+
0
-

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
akadlec
Člen | 1326
+
0
-

No já nakonec vagrant zahodil, pro mě byl nepoužitelný právě z důvodu rychlosti (pomalosti) ve srovnání s klasickým localem na wampu :( čekal sem od toho trochu více. Možná kdybych to dělal na lepším železe tak by to bylo lepší.

mkoubik
Člen | 728
+
0
-

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“.

akadlec
Člen | 1326
+
0
-

@mkoubik: když bys to měl srovnat s vagrantem a provozovat to na os win má to nějaká pozitiva? Mě osobně se u vagrantu líbilo to že data byla přístupná i mimo virtuál takže jsem nemusel řešit nějaké propojení s IDEčkem přes ssh apod.

Tomáš Kolinger
Člen | 136
+
0
-

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
+
0
-

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
+
0
-

@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
+
0
-

>

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
+
0
-

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).

akadlec
Člen | 1326
+
0
-

ač je to k nevíře, najdou se i takoví masochisti co dělají development na oknech ;)