Tracy – sestavení kontejneru v debug modu a mimo

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

Mam nastaveno, abych mel debug rezim na ip adresu a cookie. Kdyz nahraju nejakou upravu, tak se v pripade debug modu pregeneruje DI kontejner. Jenze nepregeneruje se (pochopitelne) DI kontejner co maji uzivatele mimo debug. Už se mi několikrát stalo, že mě to vypeklo, já si vesele chodil po upraveném webu a pak zjistil, že lidem to nejde.

Je možné se tomu nějak vyhnout? Úplně nejlepší by bylo kdyby se používal stejný DI kontejner jako mají uživatelé a jen já měl lištu. Nebo horší varianta, aby se nepřebuildoval kontejner ani v tom debug modu, pokud mám debug mod, ale nejsem na lokale.

Jan Tvrdík
Nette guru | 2595
+
+3
-

Uprav si deploy process, aby mazal temp.

Jiří Nápravník
Člen | 710
+
0
-

To při standardním deploy dělám. Někdy ale dělám rychlý update, kdy není třeba ani temp mazat a zbytečně odstavovat aplikaci (mám to na nestandardním řešení, kdy je to odstavení asi přes minutu, ale i kdyby to bylo méně, tak nechávat generovat cache, která není malá a zabere nějaký čas je zbytečné v některých případech), když se upravuje jen vnitřek metody nebo tak, problém je hlavně když jsou nové závislosti a to se pak přegeneruje kontejner a když na to zapomenu, tak to vidím v pořádku a ostatní ne.

Šaman
Člen | 2659
+
0
-

Mě by se hodně líbilo, kdyby se dal vývojářsky režim nastavit v configu. Na serveru poběží pro všechny produkční mód, na vývoji si to jednoduše nastavím jak potřebuji, aniž bych sahal na verzovaný bootstrap. Teď to řeším přes test určitého (neverzovaného) souboru, ale je to trochu magické řešení.
Systém s IP adresama je sice fajn, ale při finálním testování před nasazením stejně chci testovat v produkčním módu (třeba právě z toho důvodu, jak píše Jiří). A na odladění mám vývojový server, nebo localhost.

David Grudl
Nette Core | 8218
+
+1
-

To přece jde:

$configurator->setDebugMode(require 'config-mode.php');
Šaman
Člen | 2659
+
0
-

Vpodstatě takhle to mám (jen v podmínce, že když se nenajde, jede automaticky produkční režim), ale myslel jsem že by bylo pěkné, kdyby se toto nastavení (IP adresy, nebo natvrdo režim) dal nastavit v config.local.neon, kde je všechno ostatní nastavení pro konkretní stroj.

Na druhou stranu takhle je to variabilnější, dá se třeba nastavit podmínka, že laděnka vyžaduje nějakou IP adresu a navíc token v adrese, takže pak si mohu daný server proklikat ze stejného počítače jak jako vývojář, tak jako BFU.