У нас есть частное репозиторий, содержащий проект Python, который создается setuptools на сервере CI / CD, а затем артефакт колеса возвращается в Github в качестве релиза. Этот процесс работает отлично, однако возвращение полученного колеса в другие процессы сборки, которые требуют его в качестве зависимости, не кажется таким простым.
В нашем первоначальном процессе использовались субмодули git, однако формат колеса намного лучше Самостоятельный, и потребляющий проект не должен беспокоиться об относительных путях, потому что колесо устанавливается прямо в пакеты сайта.
Самая большая проблема связана с вытягиванием и установкой колеса в любых проектах потребления. Добавление URL-адреса колеса к requirements.txt
получает пипс, чтобы попытаться вытащить колесо, но затем терпит неудачу со следующим:
Could not install requirement <ProjectName>==2.0 from
https://github.com/<CompanyName>/<ProjectName>/releases/download/v2.0.0/<ProjectName>-2.0-py3-none-any.whl (from -r
requirements.txt (line 27)) because of HTTP error 404 Client Error: Not Found for url
Ошибка 404 также возвращается, если после URL-адреса в частном окно браузера. Если за URL следует браузер, уже вошедший в GitHub, колесо возвращается. Проверка запроса, получившего колесо, показывает, что браузер отправил повара ie, который уведомил GitHub о том, что это колесо принадлежит мне, но отправка файлов cookie программно не кажется хорошей идеей.
Следующие вопросы оба касаются одной и той же топи c. Принятый ответ на первый вопрос, кажется, не очень изящен - надеюсь, где-нибудь найдется лучший метод!
Как загрузить бинарные файлы выпуска GitHub?
версия установки pip wheel из частного репозитория github
Спасибо
Стюарт