Ответы пользователя по тегу Microsoft Azure
  • Как провести сборку и развертывание Django приложения?

    urtow
    @urtow
    *nix, python, QA, bagpipe, folk music
    Ваша задача сводится к простой вещи - как правильно деплоить код на продакшен.

    Делается это очень просто:
    - Просто клонируем код на продакшен
    - Ставим зависимости (и все остальное)
    - Удаляем все, чего не должно быть на продакшене - gulpfile.js, package.json, bower.json, .bowerrc и конечно же директорию .git.

    Дальше начинаются варианты:
    - Не далять директорию .git, а создать для prod окружения отдельный ключ, который имеет доступ только к prod ветке репозитория. Для увеличения секурности - можно еще открывать репозиторий для продакшена только перед деплоем и закрывать после деплоя.
    - Использовать Docker. Просто собираем контейнер где-то еще, удаляем из контейнера все лишнее и после деплоим сам контейнер в продакшен.

    Вариант с Docker является самым популярным сейчас и имеет огромный плюс - вы собираете образ с Django кодом, этот образ передаете на тестирование и после тестирования этот же образ уходит в продакшен. Это позоляет избегать ошибок, не найденных из-за различия тестового и продакшен окружений. Однако есть много особенностей сборки Docker контейнеров - будет правильным в начале изучить Best Practice, чтобы понять, что можно применить в Вашем случае.

    Чтобы не делать все руками, имеет смысл этот процесс автоматизировать - для вас есть огромное количество инструментов - CI сервера (тот же Jenkins или web аналоги) и средства автоматизации для деплоя - ansible, salt-stack, puppet, chef. Как показывает практика - ansible один из самых простых.
    Ответ написан
    2 комментария