Як ви деплоіте django додаток на сервер

Ога, <30 секунд. Ты меньше, чем за 30 секунд на свежую VPSку накатил все зависимости, БД, редис, рэббит, создал БД, юзера для работы, закинул ключи в папку созданного юзера?

Та й навіть якщо не брати до уваги розгортку, а саме Деплой. за <30 секунд ты активировал virtualenv, прописал в окружение DJANGO_SETTINGS_MODULE, сделал git pull, pip install -r requirements.txt, gulp, collectstatic, migrate? Я очень сомневаюсь.

P.S. Якщо ти робиш makemigrations на сервері, мені шкода.

У мене настройка сервера по скриптам займає 5 хвилин. Установка і запуск проекту ще 3 хвилини. Згоден з Романом, що робити міграцію на сервері - нерозумно, скрипти повинні бути згенеровані на дев сервері і протестовані. На ПРОДАКШИН просто їх запускати.

ну Ви ж розумієте, що універсального способу бути не може - все залежить від розмірів проекту

головне питання, на який шукається відповідь при Деплой - "все працює", звідки два кроки 1) оновлення коду 2) тестування

з (1) проблем немає: у нас Ansible, але, думаю, хоч fabric, хоч адмін з командним рядком (хоча треба уникати такого через непередаваемости досвіду) код оновить

а ось з (2). всі проблеми: наприклад, на тестах заглушка бази, і все відпрацьовує, а на проде який-небудь новий автоінкремент / sequence і привіт.

тому такий розподілений зоопарк ПРОДАКШИН і тестіровочного машин можна підтримувати тільки автоматично + зберігаючи в ріпі ті ж конфіги Енсібла

плюс основна біль - на які ділянки писати тести, на "все де хочеться" ніколи не буде вистачати часу

По-нормальному (по-дорослому), при викочуванні на прод потрібно використовувати CI only, але навіть там наприклад, при поширеності JIRA, ми використовуємо не Bamboo (Бамбі теж, але епізодично), а Jenkins - з ним банально більше вміють тестувальників, т . Е. не так просто люди освоюють нові інструменти

Все це окупається, коли проект великий, слабкою залежністю від кадрів, відсутністю необхідності згадувати "як було" і т.д. але варто цей час, багато часу, багато оплачуваної часу

Скоротити час можна тільки знанням про незмінність ділянок коду, що, ессно, для великих проектів дуже складно.

Тому єдине, що корисне для Вас з цього топіка - рекомендація використовувати Ansible

що стосується Докера - то, ессно, ніяких Докерів на Продам,
проте, якщо, можливо, у вашій практиці образи йдуть як спосіб швидкого відновлення і проекти невеликі - то чому б і ні

Схожі статті