//DEVGURU

Category archives ‘deployment’

The Ultimate Website Launch Checklist

Thursday, February 19th, 2009

websitelaunchGuys form Box UK released “a checklist that all websites should be checked against before launch“. It’s full of “oh, I know that!”, but I can imagine finding it very helpful when estimating project due dates and, of course, when launching the website/app – because you probably won’t remember some of them. Pretty cool.

Webistrano – bezbolesny deployment

Tuesday, June 3rd, 2008

Peritor Webistrano, Flaker - Mozilla Firefox

Jak pewnie gdzieś już pisałem od dawna korzystamy podczas developmentu z SVN oraz z Capistrano. Niedawno nasi zachodni sąsiedzi z firmy peritor stworzyli narzędzie webistrano, które po wprowadzeniu drobnych poprawek (prawa dostępu i style) wdrożyliśmy u siebie.

Dlaczego warto skorzystać z webistrano?

  1. Prosta instalacja i względnie prosta konfiguracja.
  2. Bezpieczeństwo (nie ma konieczności dawania dostępu do shella)
  3. Prosta obsługa – deployment polega na kliknięciu w przycisk deploy.
  4. Łatwe cofanie problematycznych deployów (deploy:rollback)
  5. Przejrzysta historia deployów wraz z informacją kto go wykonał (wiadomo na kogo zwalić winę jak coś nie działa :P)
  6. Obsługa Ruby on Rails (mongrel, passenger) jak i PHP
  7. Automatyczne nadawanie praw odpowiednim katalogo.
  8. Wiele innych możliwości (jeśli umiesz pisać skrypty do rake’a)

PS: Jak ktoś ma propozycję na polski odpowiednik słowa deploy/deployment to proszę o komentarz :-)

Serwer dedykowany z Twoją aplikacją Ruby on Rails w 10 minut

Wednesday, October 17th, 2007

No dobrze, czyli obejrzałeś kilka screencastów, przerobiłeś parę tutoriali i postanowiłeś zrobić swoją własną aplikację Ruby on Rails?

Lokalnie wszystko działa, mongrel serwuje (wolno, bo wolno) strony, baza przetwarza rekordy, testy przechodzą w 100%.

Skończyłeś aplikację i pojawia się problem: Na jakim serwerze ją umieścić i jak go skonfigurować?

Zaczynasz od Dreamhosta… po tygodniu walki z killowanymi procesami odpuszczasz.

Wszyscy mówią: “serwer dedykowany”… i niestety mają rację. Jeśli Twoja aplikacja kierowana jest na rynek US – polecam SliceHost, a jeśli startujesz na Polskę/Europę – Hetzner.

OK, to teraz tylko jeden problem: Jak z czystej instalacji Ubuntu zrobić serwer Railsowy?

Z całej tej przygody jest to wbrew pozorom najłatwiejsze…

Deprec pozwala w 10 minut ustawić czyściutką instalację Ubuntu. Oto jak:

  1. Upewniamy się, że nasza aplikacja jest dostępna w repozytorium SVN (jakże mogłoby być inaczej)
  2. Upewniamy się, że w config/database.yml dane serwera dla production to localhost/root/[bez_hasła]
  3. Logujemy się na serwer i tworzymy usera (np. deploy) nadajemy mu prawa sudo (dodajemy jego login w /etc/sudoers)
  4. Logujemy się na serwer jako wcześniej stworzony user (deploy) i robimy testowego checkouta z repozytorium podając usera i hasło (aby zostało zapamiętane) – jak zacznie ściągać można anulować Ctrl-C i usunąć tymczasowy katalog
  5. Ściągamy na domowym komputerze gem deprec (gem install -y deprec)
  6. W katalogu głównym naszej aplikacji uruchamiamy ‘deprec –apply-to .’ (z kropką)
  7. Edytujemy plik config/deploy.rb dodając odpowiednie wartości dla domain (adres/IP serwera), application (nazwa aplikacji – dowolna) i repository (ścieżka do repozytorium SVN)
  8. No i po tych krótkich przygotowania już tylko sam lukier – uruchamiamy na domowym komputerze w katalogu głównym aplikacji po kolei:
    cap install_rails_stack – instaluje wszystko – od apache do gemów
    cap setup – ustawia naszą aplikację
    cap deploy_with_migrations – wrzuca aplikację na serwer i migruje bazę
    cap restart_apache – wiadomo…
  9. Przy odrobinie szczęścia i szybkim serwerze po 5 minutach aplikacja jest już LIVE!

Jeden z ostatnich argumentów przeciwników RoR pada… instalacja i deployment serwisów w Ralisach przy użyciu deprec i capistrano to kaszka z mleczkiem ;-)