Neomezeně subdomén a domén na "lokále"
<VirtualHost *:80>
DocumentRoot D:/storage/webs/signaly.cz/document_root
ServerName signaly.l
ServerAlias *.signaly.l
</VirtualHost>programátor, webdesigner, klavírista, student FI MUNI
<VirtualHost *:80>
DocumentRoot D:/storage/webs/signaly.cz/document_root
ServerName signaly.l
ServerAlias *.signaly.l
</VirtualHost>Již to nebylo udržitelné. Člověk si udělal nějakou feature do administrace (=upravil vzhled, poladil nějaký šablony) a už musel to nahravávat na dva servery, procházet všechny ty adresáře a podle "barevné tečky" (symbol tortoise gitu) přehrávat soubory na ostrej. Opruz. Při upravě frontendího kódu ani nemluvě, když daná úprava byla ve více třídách a metodách, tzn. pár lidem to muselo spadnout... :(
Tak jsem si nechal na servery nainstalovat git. Výborný tutoriál je zde: http://blog.urbasek.cz/instalace-git-serveru-na-ubuntu/. Pak ale začali problémy při vytváření githooku. Projekt běží v nette a historických důvodu má trošku divnou strukturu adresářů, takže něco jako git reset --hard do ostrých dat určitě dělat nešlo. Skvělou myšlenku mi vnukl hook, který používají signály.cz (pro které programuju) - udělat si bokem deploy adreáře, do něj provádět hookem git reset a posléze provést rsync potřebných souborů. To je již velmi použitelná strategie. V rsyncu si vyberu to, co chcu syncovat, co nechcu ... a jedem. Bylo ještě třeba nastavit parametr "-c", který aktivuje porovnání dle checksum, klasické porovnávání dle timestampu a velikosti není kvůli git resetu možné. Nu, nicméně vyskytly se další problémy a to práva. Jako nejoptimálnější cestu (a díky za to, že vůbec je možná) jsme zvolili stav, kdy uživatel git (viz. tutorial) ma stejné UID jako uživatel, přes kterého jsem se normálně dříve přihlašoval do konzole (a přes SFTP nahrával soubory). Pouze zařazení do stejné skupiny nebylo dostatečné a zlobilo. Post-receive hook by mohl vypadat nějak takto:#!/bin/sh
read oldrev newrew refname
if [ $refname = "refs/heads/production" ]; then
echo "Welcome to git deploy!"
else
echo "Deploy canceled!"
exit 1
fi
branch="production"
source="/home/www/example.com-deploy"
target="/home/www/example.com"
unset GIT_DIR
cd $source
git fetch
git reset --hard origin/$branch
rsync \
--include="/chci_include/.htaccess" \
--exclude="/__*" \
--exclude="/.git" \
-r -p -c --size-only --delete-after \
$source/ $target/ 2>/dev/null
echo "Deploy finished!"
exec git-update-server-infoNa závěr přidám ještě příkraz pro deploy z konzole. Protože pushuji na dva servery, mám přidané 2x remote repository:
alias pushOnline='git c production; git merge master;git push origin_cz production;git push origin_sk production;git c master;' alias gui='git gui&'
Příkaz gui je jen zpříjemněním spuštění dialogu pro commitování. :) Tyto řádky vytvořte (i na Windows ;) v souboru ~/.bashrc
Enjoy, snad to někomu pomůže!
Schválně, jestli pak víte, jaké budou následující boolean hodnoty:
O své tipy se podělte v komentářích :)
Zkusím to nějak stručně a věcně. Mnozí se mnou nebudou souhlasit, ale to je asi tak všechno, co můžou :)
Nejdříve perly, aneb to, co se mi opravdu líbilo:
Co ušlo, ale kdyby byly přenášející menší uspávači hadů, více akce a míň řečí, určitě bych ocenil:
A zbytek? Na plno věcí musím kouknout ze záznamu a další spoustu raděj ani nebudu komentovat. Webexpo mě zklamalo. Jako nový návštěvník jsem čekal víc. Premiérový raut nevypadal vůbec jako raut, natož premiérový, jen to byla trapný žranice, jako když se stojí fronta na párky na nádru. Když už jsem se po 20 minutých čekání dostal dovnitř, bylo vše téměř vyžraný, a všichni se sápali po nově přinesených mísách.
Něco podobného Warm-up party. Přecpaná, vrcholem všeho bylo, že došlo i placené pivo, a podali mi lahváče. :D LOL. Jídlo v menze bylo první den velmi chutné, ale druhý den fakt průser (studený brambory a k tomu podezřelé "něco"). Ale aspoň se na to moc nečekalo. Zato lituju těch chudáků, co čekali první den na registraci. Další FAIL organizace byla kontrola, zda mám zakoupený raut. Nevím, jestli si organizátoři všimli, že existuje dnes F3 i v Excelu a nemusí si ty tabulky tisknout. Ono je pak totiž trapné, když své jméno vidíte z větší dálky vzhůru nohama dřív, než slečna, která ho hledá. Tedy závěrem, vzhledem k tomu, že nikoho s přítomných téměř neznám, nikdo z kamarádů mě moc nepředstavoval, a já neměl tu "drzost" se přicpat do cizích hloučků, byla pro mě osobní přítomnost téměř zbytečná. LIVE stream by mi asi stačil. Ale asi se uvidíme i příští rok. ;)Hledám nový seriál, nejlépe nějaké inteligentní scifi, pokud možno nové. (Ani raděj 10 let starý StarTrek...)
Co už sem viděl za seriály:
Co sem zahlédl, ale nelíbilo se mi:
Tak co, máte nějaké tipy? :)
Tablo v plné velikosti je k vidění na http://maturita.skrasek.com/tablo.
Pokud používáte jako já SpeedCommander, nejlepší náhradu TotalCommanderu, možná se vám stalo, že občas nevidíte na ftp skryté soubory, respektive soubor .htaccess. Náprava je jednoduchá, otevřete nastavení daného ftp spojení, vyberte "Advanced" a do "List command" vepište "-la". Spojení znovu vytvořte a otestuje. Toto nastavení jsem byl nucen provést pro můj hosting savana.cz, ale určitě se vám to může přihodit i jinde.