Запуск кедра Heroku Локально с использованием Vagrant - программирование
Подтвердить что ты не робот

Запуск кедра Heroku Локально с использованием Vagrant

Я хотел бы разработать приложение Django Heroku в среде, максимально приближенной к стеклу Керока Хероку, используя Vagrant.

Лучшее решение, которое я нашел до сих пор для создания смешной среды, - это отличный https://github.com/ejholmes/vagrant-heroku. Однако этот брандмауэр теперь использует python 2.6.x вместо Python 2.7.4, которое использует мое приложение, и по умолчанию Heroku.

Другим ресурсом, который я нашел, является Heroku https://github.com/heroku/stack-images. Я еще не пробовал этого, но, похоже, он предлагает способ создания кедра кедра локально. Он заканчивается с Python 2.7.2.

Какой из них (или что-то еще) - лучший способ пойти? У меня есть среда разработки, которая работает сейчас - и она использует все то же программное обеспечение, которое использует Heroku (PostgreSQL, Python 2.7.4 и т.д.), Но я хотел бы имитировать некоторые другие аспекты среды Heroku (доступная память, дисковое пространство, архитектура с несколькими машинами и т.д.).

Я склоняюсь к использованию коробки Эрика Холмса и добавляю Python 2.7.4 за https://askubuntu.com/info/101591/how-do-i-install-python-2-7-2-on-ubuntu. Я бы предложил патч для работы Эрика, но я не Rubyist/veewee...

Обновление 1: Еще один возможный ресурс: https://github.com/torchbox/vagrant-django-base.

Обновление 2: Я решил опрокинуться, адаптировавшись к приведенным выше источникам и другим. Это файлы (Vagrantfile и vagrant_data/install.sh), которые я использую с некоторым успехом: https://gist.github.com/ErikEvenson/5801503. Это приводит меня к Python 2.7.3 и PostgresSQL 9.2.4 в поле Ubuntu 12.04 512MB.

Я бы хотел отделить сервер базы данных со вторым ящиком и получить сервер приложений на Ubuntu 10.04 с помощью Python 2.7.4.

Обновление 3: Моя настройка изменилась. Это моя текущая конфигурация бродяг: https://gist.github.com/ErikEvenson/9763878.

Обновление 4: Я сделал несколько обновлений для моей настройки на этой неделе. Последнее находится на https://gist.github.com/ErikEvenson/9763878. Примечание:

  • Использовать NFS вместо синхронизации виртуальных сайтов - огромная производительность.
  • Избегайте ошибки добавления гостей в текущей версии виртуальной камеры.
  • Используйте новое доступное облако Vagrant для версии с базой.

Обновление 5: Несколько обновлений здесь - в основном версии программного обеспечения. Последнее находится на https://gist.github.com/ErikEvenson/9763878. Примечание:

  • Использование Vagrant 1.6.3
  • Использует PostgreSQL 9.3.3
  • Использует python 2.7.7 и устанавливает его из источника. python 2.7.3 сохраняется как системный python.
  • Заблокирует все версии зависимостей - особенно те, которые установлены через apt-get и npm.
  • Использует hashicorp/exact64 в качестве базового блока.

Используемая файловая структура выглядит примерно так:

- Project directory
-- vagrant_data
--- db
---- install.sh
---- memcached.conf
---- pg_hba.conf
---- postgresql.conf
---- redis.conf
--- web
---- install.sh
-- Vagrantfile

Обновление 6: Включает vagrant-vbguest, поскольку VirtualBox 4.3.14 исправляет некоторые ошибки.

4b9b3361

Ответ 2

Вы можете попробовать Dokku, которые поддерживают сборку Heroku buildpacks