PHPStorm – Git a FTP deployment na jednom místě

Stále hledám cesty, jak automatizovat a zrychlovat (v ideálním případě eliminovat) opakující se, otravné procesy, které s mojí prací souvisí. Jedním z nich je bezpochyby deployment, tedy jednoduše řečeno přesun zdrojových souborů projektu na server. Po dlouhá léta jsem neznal nic jiného než klasické FTP – účel to splní, je to jednoduché a vždy dostupné řešení. Až na zřejmé nevýhody, kdy člověk doufá, že se přenesly opravdu všechny soubory, které měly, jestli na nějaký nezapomněl a jestli při přenosu nedošlo k nějaké chybě (dívám se na tebe, Total Commandere).

O deploymentu jsem se doslechl až v momentě, kdy jsem začal při práci používat Git. Dostal jsem se do situace, kdy jsem Git používal ke své spokojenosti hlavně jako určitou formu zálohovacího nástroje (což je samozřejmě pouze zlomek toho, co Git umí, ale mě to stačilo). Pořád jsem ale při přesunu souborů na „live“ server musel používat FTP, což bylo otravné a hlavně nespolehlivé.

V té době jsem si koupil PHPStorm. Do té doby jsem pracoval hlavně s „obyčejnými“ textovými editory, jako je např. Sublime Text a myslel jsem si, že mi plnohodnotné IDE vlastně nemá co nabídnout. Jak moc jsem se mýlil, jsem zjistil v momentě, kdy jsem si uvědomil, o kolik rychleji najednou pracuji – ani vlastně nevím čím to přesně je. Řekl bych, že hlavní výhoda je v tom, že je vše na jednom místě. Trvalo mi chvíli nakonfigurovat si klávesové zkratky, na které jsem zvyklý ze Sublime Text, a zvyknout si na ty další, ale to, že při práci mám vše před očima (o kombinaci Alt-Tab se mi předtím i zdálo) a nemusím skoro vůbec šahat po myši je pro mě obrovská výhoda. Mám sice dva monitory, ale neustále přebíhání očima z jednoho na druhý není taky ideální.

Hledal jsem tedy cestu, jak eliminovat nutnost používat FTP na minimum. Shodou okolností jsem narazil na tento článek, který mi ukázal, jak na to. Je to vlastně jednoduché – při commitu (pokud tak zvolíte) se spustí i automatický deployment změněných souborů na server přes FTP / FTPS / SFTP. Pro mé potřeby to funguje perfektně a šetří to spoustu času a nervů oproti manuálnímu nahrávání přes FTP.

Stačí nastavit údaje serveru, na který chceme dělat deploy:

phpstorm-git-ftp-1

Případně namapovat adresáře:

phpstorm-git-ftp-1b

A při commitu vybrat, kam nahrávat:

phpstorm-git-ftp-2

Můj aktuální postup práce tedy velmi zjednodušeně vypadá takto:

  • pracuji na projektu, lokálně upravuji soubory, testuji apod.
  • v průběhu práce, pokud uznám za vhodné, dělám jednotlivé commity (používám BitBucket, který umožňuje více privátních repozitářů zdarma)
  • po ukončení práce udělám finální commit a zadám, aby se změny nahrály na server

Takto mám stále práci „zálohovanou“ na BitBucketu a zároveň aktuální verzi nahranou na serveru (neřeším teď testování a případné další kroky, které by měly nahrání na produkční server předcházet).

Výhodou je, že toto funguje i na tom nejobyčejnějším sdíleném hostingu, kterých je mezi mými klienty stále naprostá většina. Z hlediska pohodlí to sice stále není úplně stoprocentní řešení, protože nepřenáší například případné změny v databázi. Také neřeší problém s mediálními soubory – obrázky, audio či video soubory, které by (podle mého názoru) neměly v repozitáři co dělat – ty musím aktualizovat stále ještě ručně přes klasické FTP. Mám se tedy stále co učit, což je dobře :-)

I tak je ale tento postup pro mé potřeby zatím dostačující, podstatně mi urychlil práci a zmenšil prostor pro chybu.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *