Poprzedni wpis (Pointless) | Następny wpis (Miód, miód!)
Brakujące ogniwo
W nowej pracy dostałem nowe zadanie do zrobienia — zdeployować gotową aplikację w Javie na kilka maszyn w kilku odmianach. Jako że do tej pory takimi rzeczami zajmował się dla mnie dział deploymentu (słodkie czasy), było to dla mnie coś zupełnie nowego. Do zrobienia była dość prosta rzecz:
- skopiować kilka szablonów plików z jednego drzewa katalogów do drugiego,
- podmienić odpowiednie ciągi znaków w plikach szablonów,
- spakować wszystko do tar.gz,
- wrzucić na zdalną maszynę przez scp,
- rozpakować na zdalnej maszynie,
- uruchomić aplikację pod screenem.
Zacząłem od poszukiwania narzędzia, które by mi to ułatwiło.
Skrypty w shellu odpadły na samym początku. Nie umiem ich pisać, poza paroma najbardziej podstawowymi zastosowaniami.
W pracy używamy Pavera, więc naturalną koleją rzeczy zasiadłem do klepania pliku pavement.py. Szybko okazało się, że to potwornie żmudna robota, gdy aplikacja nie jest napisana w Pythonie i wszystkie ułatwienia Pavera można sobie wsadzić głęboko.
Przypomniałem sobie wtedy, że parę lat temu robiłem podobne rzeczy przy użyciu anta, więc napisałem sobie odpowiedni plik build.xml. Było z tym trochę roboty, ale działa. Wreszcie. Ale niestety, to jest Java i XML, więc piętno zostało wybite.
Zacząłem się rozglądać za innym narzędziem i wtedy wpadł mi w oko Fabric. Z opisu wynika, że może być tym, co zastąpi mi anta... ale może też wcale tak nie być. Projekt jest w bardzo wczesnej fazie rozwoju, ale będę miał na niego oko, gdyby ant za bardzo mi dopiekł.
Etykiety: praca programowanie python
Komentarze (15)
#2 jarek skomentował(-a) 24 lipca 2008 o 14:19
A może jednak nie? Nie robię w railsach, tylko w Django i w Javie.
#3 matchil skomentował(-a) 24 lipca 2008 o 15:13
Maven?
http://maven.apache.org/
Ostatnimi czasy jakis kolega Javoviec porzucil Anta wlasnie na rzecz Mavena. A nóz się przyda.
Pozdrawiam.
#5 jarek skomentował(-a) 24 lipca 2008 o 15:18
Jak ma być Maven, to ja zostaję przy Ancie.
Szukam czegoś w Pythonie, dla ustalenia uwagi. A właściwie nawet nie szukam, tylko czekam, aż się coś nawinie.
#6 mrman skomentował(-a) 24 lipca 2008 o 16:24
a skonczy sie pewnie dzialem deploymentu :)
#7 zh skomentował(-a) 24 lipca 2008 o 20:04
Fabric i Ant mają trochę inne przeznaczenie. Poza tym uważam, że Fabric nie oferuje niczego rozsądnego - wartość dodana rozwiązania opartego na Fabric w porównaniu ze zwykłym skryptem shellowym jest praktycznie żadna.
#8 jarek skomentował(-a) 25 lipca 2008 o 08:09
@mrman:
Bardzo na to liczę. To nie jest dobry pomysł, żeby developerzy deployowali swoje aplikacje na maszyny produkcyjne, ze wszystkimi tego konsekwencjami. Oni po prostu na tym się nie znają.
@zh
Ogólny zakres zastosowań Fabrica i Anta jest inny. Mnie chodzi o narzędzie do dość konkretnego zadania, nie mającego nic wspólnego z budowaniem jako-takim (do czego jest stworzony Ant).
Skrypty shellowe odpadły na początku, bo nie umiem ich pisać (ale to pewnie wiesz, bo przeczytałeś cały wpis od początku, prawda?).
#9 pats skomentował(-a) 25 lipca 2008 o 16:08
Nie wiem jakie masz potrzeby, ale z pewnością w kilku miejscach może Ci pomóc http://codespeak.net/py/dist/
pzdr, patS
#10 janislaw skomentował(-a) 27 lipca 2008 o 15:12
Scons jest niepytoniczny na potęgę.
#12 zh skomentował(-a) 27 lipca 2008 o 21:52
Jarek, ale właśnie o to chodzi, że korzystając z Fabrica i tak nie unikniesz potrzeby pisania skryptów shellowych lub shellopodobnych, praktycznie jedyna rzecz którą dostajesz z Fabryki to możliwość skopiowania pliku i wykonania polecenia, IMHO to trochę mało...
A wpis oczywiście przeczytałem w całości :)
#13 jarek skomentował(-a) 27 lipca 2008 o 23:00
No właśnie trochę tam ubogo. Nic, trudno, przyzwyczaiłem się już do Anta. ;)
#14 Tomek skomentował(-a) 1 sierpnia 2008 o 09:04
A słyszałeś o Vellum?
https://launchpad.net/vellum/
http://www.zedshaw.com/projects/vellum/
Sam nie używałem, ale może się przyda...
#15 eXt skomentował(-a) 4 sierpnia 2008 o 12:48
Jest jeszcze fassembler. Tutaj pare słów na jego temat: http://blog.ianbicking.org/2008/06/19/my-experience-writing-a-build-system/
Skomentujesz?
* oznacza pole wymagane
#1 gość skomentował(-a) 24 lipca 2008 o 13:44
A może Capistrano?
http://www.capify.org/