Autor Zpráva
Holi-cz
Profil *
Ahoj,

potřebuju radu, jak si správně nastavit vývojové prostředí. Aktuálně vyvíjím na localhostu, verzuji přes git. Vlastním VPS s nainstalovaným webserverem. Můj cíl je, aby když něco pushnu proběhl automatický deploy a bylo to rovnou vidět na webu.

Jak se to běžně dělá, existuje na to nějaký program nebo něco? Co databáze, když upravím strukturu? Vyvíjím na Symfony a pokud něco změním, je potřeba smazat cache na produkčním, lze to do deploye nějak začlenit?

Mám moc neznámých - moc tomu nerozumím. Mohl by se někdo zkušenější podělit o praxi, jak se to běžně dělá a případně mě i trochu postrčit jak na to? Díky
Kcko
Profil
Gitlab
TomášK
Profil
Variant je několik.

1) git-hooks
Git umožnuje nastavit skript, který se vykoná poté, co se provede push. Existují projekty, které se snaží zjednodušit nastavení, třeba github.com/mislav/git-deploy. Byl o tom článek na zdrojáku www.zdrojak.cz/clanky/deploy-aplikace-pres-git

2) Deployment
Pokud pracuju na projektu sám, nepotřebuju deploy po pushi, ve skutečnosti jsem spokojený, když mám jeden příkaz pro deploy (v rámci kterého se třeba i provede push). V ruby světě je capistrano, v ansible světě ansistrano, budou i další.

3) Git server
Servery, kde jde uchovávat repozitáře, jako gitlab, github?, bitbucket?, jenkins umožňují nastavit akce, které se mají provést při pushi, minimálně zavolat nějaký http request, na kterém může běžet program, který provede ten deploy. Používám těž GitLab, přijde mi nejpřívětivější a můžu si hrabat na vlastním písečku.

Smazání cache není problém - ve všech případech se provádí nějaký skript, přidá se tam příkaz, který jen smaže cache. Pro změny v databázi používám migrace. Pro každou změnu vytvořím soubor, který v databázi změny provede, přidám ho do repozitáře. V databázi mám tabulku, která eviduje, které migrace byly provedené. Pokud nějaká chybí, provede se při deployi.


Pokud vyvíjíš sám a na linuxu, použil bych ansistrano, je nejjednodušší. Pokud ne, tak GitLab.
Jan Tvrdík
Profil
Holi-cz:
Pokud chceš něco hodně jednoduchého, co nepotřebuje moc složitou konfiguraci, tak zkus třeba www.deployhq.com. Pokud si s tím chceš sám pohrát, tak pohledej na internetu něco jako „git deploy post receive hook“, je to ho spousta.

Co databáze, když upravím strukturu?
Na to se používají databázové migrace. Já použivám (a podílím se na vývoji) Nextras Migrations (přednáška). Alternativou je např. knihovna Phinx.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: