Size: a a a

DevOps — русскоговорящее сообщество

2020 August 11

AZ

Aleksey Zolotuhin in DevOps — русскоговорящее сообщество
источник

D🦆

Dmitry 🦆 in DevOps — русскоговорящее сообщество
Vladimir Deev
еще вопрос про то, где лучше хранить построенный Python модуль в виде whl (строю его Cython'ом), чтобы это было:
- удобно заливать из CI (предположительно, bitbucket pipelines)
- была версионность
- можно было установить через pip install
- ну и чтобы оно было более менее секьюрно, т.е. не совсем по паблик урлу было доступно
источник

D🦆

Dmitry 🦆 in DevOps — русскоговорящее сообщество
Но скорее всего обычные артефакты-релизы при их репо на гитхаб/гитлаб пойдут
источник

D🦆

Dmitry 🦆 in DevOps — русскоговорящее сообщество
Vladimir Deev
Всем привет.

Может быть дурацкий вопрос, и тем не менее возникла такая мысль.

У нас монолитный веб-сервис на Python, весь бэкенд в одном репе + некоторые зависимости хотим ставить через пакеты.

Из этого репо мы запускаем:
- API
- celery-воркеры и celery beat
- telegram бота

Все 3 процесса используют один и тот же virtualenv (хотя, например, телеграм-бот мог бы и поменьше иметь зависимостей) и одни и те же переменные среды.

Сейчас это все запускаем через supervisor, хотим переехать в докер.

Вопрос: а это нормально засунуть все в один Dockerfile и внутри сделать некое условие, в зависимости от параметров запуска запукать API, worker-а или telegram-бота? Т.е. иметь некий условный image backend, а не отдельный image на каждый запускаемый процесс?
Нормально, best practice не нарушаются.
Просто разные параметры на запуске.
источник

D🦆

Dmitry 🦆 in DevOps — русскоговорящее сообщество
Я бы назвал это предпочтительным способом. Все-таки это один проект.
источник

VD

Vladimir Deev in DevOps — русскоговорящее сообщество
Dmitry 🦆
Нормально, best practice не нарушаются.
Просто разные параметры на запуске.
спасибо!
источник

VD

Vladimir Deev in DevOps — русскоговорящее сообщество
а как насчет варианта хранить построенные либы в S3, например?
https://support.atlassian.com/bitbucket-cloud/docs/publish-and-link-your-build-artifacts/
источник

D🦆

Dmitry 🦆 in DevOps — русскоговорящее сообщество
Это как с докером. У него есть run опция, а есть build. Но бинарник то один.
источник

D🦆

Dmitry 🦆 in DevOps — русскоговорящее сообщество
Я не сильно знаком с инфраструктурой питона, не знаю, эти поетри/пипы умеют ли прозрачно работать с s3 и версионировании с ним.
источник

D🦆

Dmitry 🦆 in DevOps — русскоговорящее сообщество
Но вариант с артифактами при репо мне кажется самым очевидным и прямолинейным.
источник

AZ

Aleksey Zolotuhin in DevOps — русскоговорящее сообщество
Dmitry 🦆
Я не сильно знаком с инфраструктурой питона, не знаю, эти поетри/пипы умеют ли прозрачно работать с s3 и версионировании с ним.
Есть AWS CodeArtifact
https://aws.amazon.com/codeartifact/
Можно его попробовать
источник

VD

Vladimir Deev in DevOps — русскоговорящее сообщество
Dmitry 🦆
Но вариант с артифактами при репо мне кажется самым очевидным и прямолинейным.
дело в том, что исходный код библиотеки я бы не хотел особо светить перед бэкендом.

т.е. у нас есть
- либа А, которую я строю Cython'ом
- бэкенд, который использует либу А.

либу А нужно каким-то образом давать разработчикам, которые работают над бэкендам.
можно положить построенную либу в Bitbucket Downloads, но я не уверен, что получится закрыть доступ к исходному коду, но открыть к построенно й либе.
артифакты от Bitbucket Pipelines хранятся 14 дней только и они сами предлагают их куда-либо заливать.

ну или как вариант складывать построенные артифкаты в Downloads к бэкенду, к которому у разрабов есть доступ. но тут как бы версионирование придется самим городить.
источник

VD

Vladimir Deev in DevOps — русскоговорящее сообщество
а свой PyPi сервер тоже не особо хочется поднимать
источник

VD

Vladimir Deev in DevOps — русскоговорящее сообщество
с AWSа хотим на DO съехать совсем
источник

VD

Vladimir Deev in DevOps — русскоговорящее сообщество
вот кстати есть такая штука: https://github.com/novemberfiveco/s3pypi
источник

VD

Vladimir Deev in DevOps — русскоговорящее сообщество
но не знаю как оно будет работать с Digital Ocean Spaces
источник

C

Crysalis in DevOps — русскоговорящее сообщество
S3 это уже больше некий формат стал, чем просто сервис Амазона
источник

D

DevOps Help Bot in DevOps — русскоговорящее сообщество
Report on spam message was send to admins. Plz be patient.
источник

VD

Vladimir Deev in DevOps — русскоговорящее сообщество
Crysalis
S3 это уже больше некий формат стал, чем просто сервис Амазона
да, я понял)
источник

SK

Sergey K in DevOps — русскоговорящее сообщество
мебель и интерьер - серверная стойка
источник