D
D
dimas092015-12-01 23:55:57
Django
dimas09, 2015-12-01 23:55:57

The Jedi way to deploy a django project to digitalocean?

У меня есть Django приложение.
Цель настроить подобие continuous delivery на дроплет в digitalocean.
В кавычках "continuous" потому, что при пуше в мастер не хочу, что бы приложение собиралось автоматически, для этого могу зайти на сервер и запустить команду.
Приложение состоит из собствоенно django проекта и БД Postgresql, ElasticSearch, и в качестве сервера хочу использовать gunicorn и nginx для статики.
У меня всего один дроплет и тут вопрос лучше организовать staging и production хост рядом на одном дроплете или на дроплете оставить один production хост, но при этом у себя на development машине разворачивать окружение приближенное к production.
При этом все настройки сервера хочу что бы хранились в репозитории тоесть нужен Ansible или Puppet.
Подитожу цель:
1. получить возможность быстро получить окружение на любом ноуте или компьютере, где захочу ввести разроботку
2. быстро деплоить на сервер, подразумеваю стягивание с репозитория кода, накатывание миграций, установка скирптов в крон, и тд
Могу ли я обойтись для первой цели без docker'а? Мне не нравится, что существенно сложнее управлять настройками, заставляет делать все правильно, для моего маленького проекта не всегда оправдано по времени(деньгам)
Для второй цели думаю мне будет достаточно Fabric?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
V
Vladimir Zhurkin, 2015-12-02
@icCE

Не совсем моя тема.
Вынести отдельно БД,Elastic.
Я предполагаю, что настройки там будут меняться давольно редко.
Вторая машина nginx,gunicor (хотя я лично за uwsgi, но вам виднее)
Тут если я правильно понял, меняться будет только APP.
Есть несколько путей как идти дальше:
Докер - самый тупой путь. У себя все собираем, смотрим как работает, перезаливаем свой докер на DO.
При этом БД у нас сохраняется (я думаю она же актуальна постоянно ?) и получаем новое окружение.
Второй путь простой диплой через Ansible или скриптами замены вашего app.
>При этом все настройки сервера хочу что бы хранились в репозитории тоесть нужен Ansible или Puppet.
Who prevents all settings from being stored in git ? and merge via git? Yes, here you can roll back through git: D
> get the opportunity to quickly get the environment on any laptop or computer where I want to enter development
. There is only the path of the container. If you want to always have one environment that will work everywhere.
>Can I do without docker for the first goal? I don’t like that it’s much more difficult to manage the settings, it makes you do everything right, for my small project it’s not always justified in terms of time (money)
You make a container image with the settings you need once, without APP.
You make git in which your code is located and, for example, through Ansible, deploy it where necessary.
We take a docker, throw fresh code there from git and through the API in DO.
>Для второй цели думаю мне будет достаточно Fabric?
Дело вкуса.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question