A
A
Andrew2015-02-21 15:11:32
Django
Andrew, 2015-02-21 15:11:32

How do you deploy and deploy django projects on the local machine and on the server?

Good afternoon!
Added clarification below.
Recently, there has been an increasing need to deploy django projects on servers, and this makes me sad.
Every time you have to install ubuntu, database, packages, virtualenv, create directories, synchronize files there. Before that, you need to do a number of manipulations on the local computer, starting from creating a virtualenv on the local machine and ending with the same installation of the necessary packages from pip.
I would like something universal, so that from the template you can quickly deploy it on the local machine, and then upload it to the remote machine, having previously configured it.
What do you use for this?
Clarification:
On the dev machine, that is, my own, I do
1. Install the database
2. Создаю базу данных
3. Создаю virtualenv
4. Ставлю нужные пакеты
5. I create a django project and an app inside it
6. I move settings.py to a package inside the settings project
7. I edit settings, I write database parameters
8. I edit INSTALLED_APPS, MIDDLEWARE_CLASSES, TEMPLATE_CONTEXT_PROCESSORS
9. I edit urls.py, adding the necessary urls from installed applications .
Let's decide for now how to make such a template so that I just indicate the name of the new project, and it does everything?

Answer the question

In order to leave comments, you need to log in

4 answer(s)
M
MintTea, 2015-02-21
@MintTea

Vagrant and Ansible . Once you write playbooks, then a new machine for the developer is deployed with the command vagrant up, a new server -ansible-playbook production.yml

N
Nikita Pewget, 2015-02-21
@Pewget

Я сейчас использую собственным скриптом, который из свежеустановленного debian делает готовую к работу с django машину: ставит все пакеты, mysql, создает пользователя, nginx и т.д. Создавал скрипт просто - настраивал новый сервер и все команды записывал в файлик :)
Остается только сделать git clone, установить пакеты через pip и создать БД.
Все это значит около 30 минут на сервер, что довольно много, но мне приходится это делать не чаще раза в месяц, поэтому устраивает.
Но этот вариант явно не идеален и в дальнейшем планирую перейти на docker.

V
Vladimir Abramov, 2015-02-21
@kivsiak

Ansible для настройки окружения. Virtualenv pip freeze для синхронизации зависимостей. Fabfile для того чтобы разрулить все это на уровне приложения.

C
chemiron, 2015-02-26
@chemiron

Попробуйте makesite (https://github.com/klen/makesite). Пока использовал только для деплоя, но функционал позволяет и разворачивать новое окружение для разработки.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question