Deployment aplikacji WSGI

78 views
Skip to first unread message

Janusz Skonieczny

unread,
Apr 24, 2012, 10:36:30 AM4/24/12
to py...@googlegroups.com
Cześć,

Czego używacie do deploymentu aplikacji WSGI na serwer produkcyjny?

Szukam czegoś co będzie przypominać w użyciu appcfg.py w Google App Engine, coś co załatwi za mnie kopiowanie plików i tworzenie wersji na serwerze.

Pozdrawiam. Janusz.   

Łukasz Rekucki

unread,
Apr 24, 2012, 10:49:48 AM4/24/12
to py...@googlegroups.com
On 24 April 2012 16:36, Janusz Skonieczny <janusz.s...@gmail.com> wrote:
> Cześć,
>
> Czego używacie do deploymentu aplikacji WSGI na serwer produkcyjny?

Ja do niedawna używałem stacku ep.io, ale niestety serwis się zamyka
:(. Heroku ma chyba podobny system, tzn. robisz "git push" i done :)


--
Łukasz Rekucki

Janusz Skonieczny

unread,
Apr 24, 2012, 11:23:41 AM4/24/12
to py...@googlegroups.com
Ja mam zwyczajny hosting w linuxpl.com i na razie nie chcę się przenosić.

Chciałem sobie ułatwić życie czymś co potrafi rozmawiać z FTPem, ew. ma jakiś wrapper WSGI który uruchamia wybraną wersję aplikacji django.

Jak aktualizujecie produkcję dla aplikacji django?  

Pozdrawiam. Janusz.

jell

unread,
Apr 25, 2012, 7:54:33 AM4/25/12
to py...@googlegroups.com
chodzi ci ogolniej o wsgi, czy konkretnie o django?

Janusz Skonieczny

unread,
Apr 25, 2012, 8:04:13 AM4/25/12
to py...@googlegroups.com
W tej chwili głównie o django, bo taki mam teraz case. 

Ale IMO takie narzędzie nie powinno być z django powiązane, bo kopiowanie plików, wersjonowane kodu i wybór wersji aplikacji WSGI nie ma wiele wspólnego z tym jak sama aplikacja działa. Może tylko w kontekście tego gdzie wrzucić kod, a gdzie pliki statyczne.

Pozdrawiam. Janusz.

Konrad Hałas

unread,
Apr 25, 2012, 8:10:28 AM4/25/12
to py...@googlegroups.com
My w robocie do deployowania apek djangowych po ssh używamy fabrica (fabfile.org). Narzędzie proste w użyciu, z duża liczbą predefiniowanych komend. Polecam.

Janusz Skonieczny

unread,
Apr 25, 2012, 8:13:42 AM4/25/12
to py...@googlegroups.com
Stworzyliście sobie własne narzędzie na bazie Fabrica? 
Czy jest coś od czego można zacząć czy wszystko zrobiliście sami? 
Opublikowaliście kod ;) ?

Pozdrawiam. Janusz.

Łukasz Rekucki

unread,
Apr 25, 2012, 8:24:14 AM4/25/12
to py...@googlegroups.com
On 25 April 2012 14:13, Janusz Skonieczny <janusz.s...@gmail.com> wrote:
> Stworzyliście sobie własne narzędzie na bazie Fabrica?
> Czy jest coś od czego można zacząć czy wszystko zrobiliście sami?
> Opublikowaliście kod ;) ?

Wydaje mi się, że większość ludzi robi coś własnego. Już kilka razy
widziałem na PyCon albo DjangoCon bardzo fajne systemy do deployowania
oparte o fabric/git/puppet/chef (weź dowolny zestaw). Na końcu
prezentacji zazwyczał był disclaimer, że *jeszcze* nie jest to OSS, bo
chcą wyczyścić kod. Co jakiś czas sprawdzam, ale się jeszcze nie
doczekałem :)

--
Łukasz Rekucki

Konrad Hałas

unread,
Apr 25, 2012, 8:33:09 AM4/25/12
to py...@googlegroups.com
Obiecuję, że naszego fabrica wieczorem wrzucę :) Serio :) Ale nie jest to coś urywającego ***. Po prostu zwykły fabfile, który u nas akurat się sprawdza.

Janusz Skonieczny

unread,
Apr 25, 2012, 8:47:05 AM4/25/12
to py...@googlegroups.com
Zawsze to coś, nie chce mi się odkrywać ameryki :)

Szybciutko rzuciłem okiem na Fabrica, PasteDeploy, Buildout, ale miałem wątpliwości czy bo:

1. Albo za dużo, nie chcę konfigurować środowiska i zależności, wszystko jest na miejscu w paczce albo skonfigurowane przez administratorów
2. Albo za mało, nie jest "specjalnie" pod aplikacje WSGI i trzeba pisać jakieś skrypty

I nic co widziałem nie dotyka problemu wersjonowania po stronie serwera, a przecież musi być możliwość zrobienia szybkiego przepięcia do poprzedniej stabilnej wersji aplikacji. 

Jestem stosunkowo nowy w Pythonie — co prawda piszę od kilku lat ale pod Google App Engine — i nie wiedziałem czy źle szukam czy jest brak takiego narzędzia.  

Pozdrawiam. Janusz.


Łukasz Rekucki

unread,
Apr 25, 2012, 8:58:47 AM4/25/12
to py...@googlegroups.com
On 25 April 2012 14:47, Janusz Skonieczny <janusz.s...@gmail.com> wrote:
> Zawsze to coś, nie chce mi się odkrywać ameryki :)
>
> Szybciutko rzuciłem okiem na Fabrica, PasteDeploy, Buildout, ale miałem
> wątpliwości czy bo:
>
> 1. Albo za dużo, nie chcę konfigurować środowiska i zależności, wszystko
> jest na miejscu w paczce albo skonfigurowane przez administratorów
> 2. Albo za mało, nie jest "specjalnie" pod aplikacje WSGI i trzeba pisać
> jakieś skrypty
>
> I nic co widziałem nie dotyka problemu wersjonowania po stronie serwera, a
> przecież musi być możliwość zrobienia szybkiego przepięcia do poprzedniej
> stabilnej wersji aplikacji.

Oto jak robią to wolnelektury:
https://github.com/fnp/wolnelektury/blob/master/fabfile.py#L76

Nie jest to raczej rozwiązanie bullet-proof i nie uwzględnia wielu
rzeczy, np. migracji danych, ale do szybkich poprawek w kodzie jest ok
:)


--
Łukasz Rekucki

Konrad Hałas

unread,
Apr 25, 2012, 2:59:19 PM4/25/12
to py...@googlegroups.com
Ffabfile, który obiecałem:


Przykładowe użycie:

fab deploy:production

Co tam się dzieje:
0. krótka modlitwa,
1. robimy dumpa,
2. pull'ujemy kod,
3. instalujemy zależności,
4. odpalamy testy,
5. kompresujemy js i css,
6. uaktualniamy pliki statyczne,
7. syncdb,
8. migracje,
9. restartujemy aplikację (restart-app dostarcza nasz hosting).

Pozdrawiam,

Janusz Skonieczny

unread,
Apr 26, 2012, 3:40:13 AM4/26/12
to py...@googlegroups.com
Pięknie dziękuję za przykłady :D
Będę miał lżejszy start.

Pozdrawiam. Janusz.

Marcin Mincer

unread,
May 7, 2012, 6:01:26 PM5/7/12
to py...@googlegroups.com
Jeszcze dorzucę nasz post na ten temat, też o fabricu:
http://www.askthepony.com/blog/2011/07/setup-a-complete-django-server-deploy-rollback-–-all-in-one-powerful-script/
Reply all
Reply to author
Forward
0 new messages