Od kilku dni testuje Divshot. Narzędzie, które zostanie wykorzystane przy deploymencie aplikacji podczas zbliżającego się hackathon-u 2015.staticshowdown.com.
Deployment moich czysto webowych aplikacji polegał na wykorzystaniu GitHub-a. Czyżby czas na zmianę?
GitHub
Często do swoich aplikacji wykorzystuje GitHub Pages aby kod aplikacji upublicznić.
Deployment aplikacji jest bardzo prosty wystarczy wgrać zmiany na origin/gh-pages i po chwili (Cache GitHub-a) mamy naszą aplikację na tzw. produkcji.
Divshot
Ciekawość mnie zżera na czym może polegać hosting Front-end-owy. Przecież bez hosting silnie wiąże się częścią aplikacji po stronie serwera. Zobaczmy czym się charakteryzuje taki hosting.
Wady i zalety
GitHub | Divshot | |
---|---|---|
Hosting z 3 trybami dostępu: dla developera, staging (czyli taka preprodukcja) oraz produkcja | - | + |
Blokowanie dostępu za pomocą HTTP Authentication | + (poprzez plik w projekcie) | + (wyklikujemy przy danej trybie dostępu lub divshot
protect [env] [user:pass] ) |
Automatycznie tworzy się subdomena | + (github.io) | + (divshot.io) |
Zarządzanie wersjami | + (Tak jak zarządzanie rewizjami w projekcie. Niby jest, ale ma bardzo mocny wpływ na kod w repozytorium.) | + (Bardzo ładne zarządzani releasami. Możliwość rollback-a do poprzedniej wersji.) |
Możliwości konfiguracji projektu | + (_config.yml) | + (divshot.json) |
Potrzebny dodatkowy soft | + (Tylko Git) | - (node, npm, divshot-cli) |
Dodatkowe gałęzie w projekcie | - (Branch: gh-pages) | + (Nic nie trzeba) |
Customowa domena | + (Plik: CNAME) | + (Polecenie: divshot domains:add www.example.net) |
URL z poprzednimi wersjami | - | + (Np.: v25.my-app-name.production.divshot.io) |
Włączony HTTPS | + | - (Trzeba dokupić) |
Współpracownicy | + (Bez limitu) | + (Bez limitu) |
Webhooks | + (Polecenie: divshot hooks:add http://example.com/my/hook) | + (Długa lista predefiniowanych) |
Jekyll | + | + |
Podsumowanie
Wygląda to tak, jeśli chcemy wypchnąć nasz projekt w świat, aby sobie leżał bez większego nakładu pracy w jego utrzymanie, to GitHub Pages będzie lepszym rozwiązaniem.
Jeśli jednak będziemy rozwijać ten projekt, albo jest on dla nas bardzo cenny z jakiegoś punktu widzenia i martwi nas jaka wersja jest obecnie na produkcji, a jaka na stagingu, to lepszym rozwiązaniem jest Divshot.