Восстановление сайта Django каждую ночь - PullRequest
1 голос
/ 26 июля 2011

У меня есть сайт django, который нужно перестраивать каждую ночь.Я хотел бы проверить код из репозитория Git, а затем начать делать такие вещи, как настройка виртуальной среды, загрузка пакетов и т. Д. Это не требует ручного вмешательства, так как это будет выполняться из cron

Я действительно смущен относительно того, что использовать для этого.Должен ли я написать сценарий Python или сценарий оболочки?Существуют ли какие-либо инструменты, которые могут помочь в этом?

Спасибо.


Так что я ищу CI, и из того, что я видел, я, вероятно, в конечном итоге буду использовать Jenkinsили Buildbot для этого.Я обнаружил, что документы довольно загадочны для тех, кто никогда не пробовал ничего подобного.

Все ли CI, такие как Buildbot / Jenkins, просто запускают тесты и дополнительные тесты и отправляют вам отчеты, или они действительно настраиваютрабочая среда Django, к которой вы можете получить доступ через браузер?

Ответы [ 3 ]

1 голос
/ 26 июля 2011

Вам нужно будет создать какой-то сценарий сборки, который будет делать все, кроме проверки GIT.Я никогда не использовал инструменты сборки Python, но, возможно, что-то вроде: http://www.scons.org/.

После того, как вы создали сценарий, вы можете использовать Jenkins для планирования ночной сборки и отчета об успехах / неудачах: http://jenkins -ci.org / .Дженкинс будет знать, как оформить ваш код, и тогда вы сможете запустить его в своем скрипте.

0 голосов
/ 26 июля 2011

Есть буквально 100 различных инструментов для этого.Вы можете писать скрипты Python для запуска из cron, вы можете писать скрипты оболочки, вы можете использовать один из сотен различных инструментов сборки.

Большинство магазинов Python / Django, вероятно, рекомендуют Fabric ,Это действительно вопрос того, как вы пробежались и убедитесь, что понимаете все, что нужно сделать, и как это сделать.Вам нужно запустить тестовый пакет перед развертыванием, чтобы убедиться, что он не сломает все?Вам нужно запустить миграцию базы данных на юг?Вам действительно нужно подумать о том, что нужно сделать, а затем просто написать сценарий фабрики для выполнения этих задач.

Ничто из этого даже не затрагивает тот факт, что в целом вы запрашиваете непрерывную интеграцию, которая сама по себеесть целый ряд инструментов, чтобы помочь справиться с этим.

0 голосов
/ 26 июля 2011

Вы запрашиваете Непрерывная интеграция .

Существует множество инструментов CI, но в конце концов они сводятся к вашим личным предпочтениям (как всегда, надеюсь) и какой из них вам подходит.

Сам проект Django использует buildbot .

Если вы спросите меня, то я бы порекомендовал вам непрерывный .io , который работает в комплекте с приложениями Django. Вы можете вручную установить, сколько раз вы хотели бы построить свой проект Django, и это здорово.

Конечно, вы можете написать сценарий оболочки, который перестраивает ваш Django-проект с помощью cron, но вы должны заслужить это.

...