Каковы риски / преимущества загрузки моего веб-сайта в публичный репозиторий? - PullRequest
0 голосов
/ 23 января 2019

Я заметил, что учебник Flask предполагает использование pip. Похоже, что он используется только для создания колеса локально, что облегчит настройку на сервере, но как новичок веб-разработчика мне интересно: кто-нибудь на самом деле прошел весь путь загрузки своих сайтов в публичный репозиторий, такой как PyPI? Каковы последствия (связанные с безопасностью или иным образом) этого?

1 Ответ

0 голосов
/ 23 января 2019

Нет, вы должны , а не загружать частные веб-проекты в PyPI (индекс пакетов Python)!PyPI предназначен для общедоступных опубликованных проектов, предназначенных для совместного использования .

Создание пакета для вашего веб-проекта имеет преимущества при развертывании на рабочих серверах, но для этого не требуется, чтобы ваш пакет былдоступно на PyPI.Инструмент командной строки pip может находить и устанавливать пакеты из других репозиториев, включая частные репозитории Git или Mercurial или SVN или индексы частных пакетов, а также из файловой системы.

Для записи: I 'я не беспокоился о создании пакетов для любого из моих последних развернутых проектов Flask, которые я (помогал) разрабатывать.Они были запущены в производство на оборудовании, размещенном в облаке, и / или в контейнерах Docker, непосредственно из их репозиториев Github. Зависимости устанавливаются с pip (как во всех случаях управляется инструментом Pipenv ), но сам код проекта был загружен непосредственно из кассы.

Тем не менее, если эти проекты начнут использовать непрерывную интеграцию в дальнейшем, тогда может иметь смысл использовать полученный тестовый код, упакованный как колеса, также в производство.Опубликуйте эти колеса в личном индексе или на сервере;Есть несколько проектов и даже несколько SaaS-сервисов, которые позволяют вам управлять индексом частного пакета.

Если вы публикуете в PyPI, любой может загрузить ваш пакет и проанализировать, как работает ваш веб-сайт.Для хакеров из черной шляпы было бы тривиально найти и использовать проблемы безопасности в вашем проекте таким образом.

...