Как мигрирах yetanotherprettifier.com към heroku

13 сеп.

Днес реших да си поиграя с Heroku. Причината е, че от доста време се канех да направя така, че Yet Another Prettifying Tool да бъде на самостоятелен хостинг. Така домейнът вече не е паркиран към хостинг планът, който използвам за друг уеб сайт.

След като поразрових в сайта на Heroku и намерих набързо набързо документацията, бях изключително разочарован, че хостването на статичен сайт е безумно сложно. Логиката е, колкото по-лесно е било да се направи сайта, толкова по-лесно да се качи на сървъра и да заработи. Изглежда обаче в Сан Франциско са решили, че трябва да улеснят нещата за сложните приложения, за сметка на простичките, статични сайтове.

След малко ровене из Интернет реших проблема създавайки леко PHP приложение, което да действа като обвивка на единствената страница в YAPT.  Въпреки че това решение ми се струва като издялано с тесла, смятам че ще върши работа като за начало, а и по този начин поставих основите за по-богато на функционалности приложение.

Както и да е, за да се хостне сайт на Heroku се използва Git. Чудесна идея! Вместо да ми трябва още някаква програма, инсталирана на компютъра, която работи по протокол от пантивека и винаги ме е обърквала поне малко – FTP-Client, ще ползвам Гит. Така и така си го ползвам… Инициирах „хранилище“ в папката с кода на YAPT и commit-нах нужните файлове. Ами сега? Къде да ги push-на?

Оказа се, че не съм бил напълно прав, като съм си мислел, че не трябва друго освен гит. За да има къде да се push-не кодът на сайта, трябва да се направи приложение в Heroku. За това може да се ползва и графичния интерфейс, предоставен на сайта им, но когато използваш Heroku Toolbelt, някои от настройките на хранилището за работа с Heroku магически изчезват. В крайна сметка с командата:

heroku create

едновременно се създава приложението, което ще изпълнява кода на сайта и се настройва Git за работа с него. След това е нужно само да се push-не към главния клон на създаденото отдалечено хранилище наречено heroku:

git push heroku master

И вече си имам функциониращ сайт!

Но как да накарам домейнът ми да сочи към новия хостинг? Трябваше само да изтрия досегашните записи в DNS-a свързани с домейна и да направя нов „alias“ сочещ към домейна, даден на приложението ми от Heroku. И вече имах настроен сайт, хостван от Heroku!