Chciałbym rozwijać moją aplikację Django Heroku w środowisku tak blisko stosu Cedika Heroku, jak to tylko możliwe, używając Vagrant.Prowadzenie Heroku Cedar Lokalnie za pomocą Vagrant
Najlepszym rozwiązaniem, jakie dotychczas znalazłem w budowaniu środowiska wyszydzanego, jest doskonały Eric Holmes "https://github.com/ejholmes/vagrant-heroku. Jednak to pole vagrant obecnie używa Pythona 2.6.x zamiast Pythona 2.7.4, którego używa moja aplikacja i domyślnie Heroku.
Drugim zasobem, który znalazłem, jest Heroku's https://github.com/heroku/stack-images. Nie próbowałem tego jeszcze, ale wydaje się, że oferuje sposób na lokowanie cedrowego stosu. Kończy się Pythonem 2.7.2.
Który z nich (lub coś innego) jest najlepszym sposobem na przejście? Mam środowisko programistyczne, które działa teraz - i korzysta z tego samego oprogramowania, z którego korzysta Heroku (PostgreSQL, Python 2.7.4 itd.) - ale chciałbym zasymulować niektóre inne aspekty środowiska Heroku (dostępna pamięć, miejsce na dysku, architektura wielu maszyn itp.).
Jestem skłonny do używania pudełka Erica Holmesa i dodawania Pythona 2.7.4 na https://askubuntu.com/questions/101591/how-do-i-install-python-2-7-2-on-ubuntu. Chciałbym zaoferować poprawkę do pracy Erica, ale nie jestem Rubyist/veewee ...
Aktualizacja 1: Innym możliwym źródłem: https://github.com/torchbox/vagrant-django-base.
Aktualizacja 2: Zdecydowałem się toczyć własne dostosowując z powyższych źródeł i innych. Są to pliki (Vagrantfile i vagrant_data/install.sh), z których aktualnie korzystam: https://gist.github.com/ErikEvenson/5801503. To prowadzi mnie do Pythona 2.7.3 i PostgreSQL 9.2.4 na pudełku Ubuntu 12.04 512 MB.
Chciałbym oddzielić serwer bazy danych od drugiego pudełka i pobrać serwer aplikacji na Ubuntu 10.04 z Pythonem 2.7.4.
Aktualizacja 3: Moja konfiguracja ewoluowała. To jest moja aktualna konfiguracja vagrant: https://gist.github.com/ErikEvenson/9763878.
Aktualizacja 4: W tym tygodniu wprowadziłem kilka aktualizacji do mojej konfiguracji. Najnowsza wersja to https://gist.github.com/ErikEvenson/9763878. Uwaga:
- Używanie NFS zamiast synchronizacji folderów wirtualnych - ogromna poprawa wydajności.
- Unikaj błędów dodawania gościa w bieżącej wersji VirtualBox.
- Skorzystaj z nowo dostępnego Vagrant Cloud dla wersjonowanego pudełka podstawowego.
Update 5: Kilka aktualizacje tutaj - głównie wersje oprogramowania. Najnowsza wersja to https://gist.github.com/ErikEvenson/9763878. Z dopiskiem
- Używa Vagrant 1.6.3
- Używa PostgreSQL 9.3.3
- Używa Pythona 2.7.7 i instaluje go od źródła.python 2.7.3 jest zachowywany jako pyton systemowy.
- Blokuje wszystkie wersje zależności - szczególnie te instalowane przez apt-get i npm.
- Używa hashicorp/precise64 jako podstawy.
Struktura plików w użyciu jest mniej więcej tak:
- Project directory
-- vagrant_data
--- db
---- install.sh
---- memcached.conf
---- pg_hba.conf
---- postgresql.conf
---- redis.conf
--- web
---- install.sh
-- Vagrantfile
Aktualizacja 6: Okazuje Vagrant-vbguest on Rejestracja VirtualBox 4.3.14 poprawki niektórych błędów.
Dziękuję za to, również szukałem rozwiązania .... wypróbowanie teraz! – Brandon