Led
14
Většina programátorů nahrává zdrojové kódy na web přes FTP pomocí nějakého obyčejného FTP klienta. Na tom samozřejmě není nic špatného. Pokud ale spravujete rozsáhlejší aplikaci, mohou nastat problémy. Buď chcete nahrát pouze změněné soubory a na některý zapomenete nebo pro jistotu chcete nahrát všechny, což může trvat i několik desítek minut (pro nás co nemáme optická vlákna) a spojení se může uprostřed přenosu souboru přerušit a tím pádem může přestat fungovat i celá aplikace. Pokud nahráváte aplikaci takto ručně několikrát za den, je to opravdu utrpení.
Na archivování zdrojových kódů všech aplikací používám subversion a všem radím totéž. Setkal jsem se s tím, že
i ve větší firmě se žádný program na správu verzí nepoužíval a programátoři i kodéři házeli soubory na web pátý přes devátý a pořád se rozčilovali: "kterej vůl mi přepsal muj soubor, vždyť jsem to tam včera nahrával!?". V této situaci jsem musel taktně podotknout, že volové jsou všichni.
Díky subversion je vidět kdo, kdy a jaké soubory upravoval, přidal nebo smazal a je vždy možné získat předchozí verzi souboru. Pokud editujete stejný soubor jako váš kolega, soubory se pokusí slít dohromady (merge), v opačném případě jste na konflikt upozorněni. A k aktualizaci všech souborů stačí jedno kliknutí myši. Alespoň pokud nepracujete pouze v shellu
Pokud spravujete více webů, je výhodné mít vlastní linuxový server na
hraní s vysokou konektivitou. Na něm budete mít archivované všechny zdrojáky a zároveň deployment skripty napsané v shellu, které nahrají soubory na web za pár vteřin. Serverhosting je sice trochu dražší než obyčejný webhosting, ale zase vám ušetří čas. A čas jsou peníze
# aktualizujeme soubory v repository
svn update /opt/repository/myapp
# pripravime exportni adresar, kam se nahraji ciste soubory. (V repository jsou totiz skryte .svn soubory)
rm -R -f /opt/deploy
mkdir /opt/deploy
cd /opt/deploy
svn export /opt/repository/myapp
# upravime adresar pokud je potreba
mv /opt/deploy/myapp /opt/deploy/httpdocs
# a nahrajeme na FTP
ncftpput -R -v -u username -p password ftp.example.com / /opt/deploy/httpdocs






0 Odezvy