Size: a a a

Django [ru] #STAY HOME

2019 March 20

TM

Tim Mustafin in Django [ru] #STAY HOME
Tim Mustafin
Там кстати есть отличные контейнеризованные решения с s3-совместимостью по апи
я как раз к этому сказал)
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
Andrey
Тема PaaS’во не раскрыта (google app engine, Heroku)
пропустил вопрос...

я не фанат PaaS'ов из-за vendor-lock'а) контейнеры легко двигать между сервис-провайдерами) Kubernetes есть много у кого)
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
и вторая проблема с ними - иногда может потребоваться что-то кастомное и там будет сложно это сделать
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
Google App Engine местами выглядит как некий legacy
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
то есть на его основе они запустили IaaS сервисы
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
старая версия этих сервисов - внутри GAE, новая - отдельно
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
я всячески советую Google Cloud, но всё же больше с упором на Kubernetes и на их IaaS-сервисы, а не на их PaaS (GAE)
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
ну, а Heroku - он просто дорогой) он как managed hosting
источник

И

Игорь in Django [ru] #STAY HOME
А как в стейтлес без volume делается ci? Для обновления кодовой базы
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
код как и раньше внутри образов контейнеров
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
грубо говоря, Django - это генератор API
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
ему там эти volume-то (или их отсутствие) и не мешают тестироваться никак
источник

И

Игорь in Django [ru] #STAY HOME
Alexander Ovchinnikov 🦁
код как и раньше внутри образов контейнеров
Но без volume его же нужно каждый раз пересобирать, этот контейнер, что бы код попал внутрь контейнера.

А если у меня ci и несколько коммитов в час на мастер. Если с volume, то все понятно.

А вот с кодом, зашитым в контейнер чет не очень
источник

A

Alex in Django [ru] #STAY HOME
херока как раз пример плохого вендор лока и платформы вообще
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
возможно, я не очень понял вопрос) у всех оно работает по-разному, разные CI-системы и прочее, но обычно подход такой:
- система видит, что появился новый коммит и собирает образ контейнера, а потом его тестирует и если на данном коммите висит некий тег - она его пушит в container registry под этим тегом
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
собирать может не сама, а просить некий внешний сервис для сборки контейнеров, например) для тестирования тоже может делать всякие сложные штуки) например, прогонять тесты параллельно, докупив временно нужное количество нужных ресурсов и подняв там 100500 контейнеров из этого образа, а потом удалив их)
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
Игорь
Но без volume его же нужно каждый раз пересобирать, этот контейнер, что бы код попал внутрь контейнера.

А если у меня ci и несколько коммитов в час на мастер. Если с volume, то все понятно.

А вот с кодом, зашитым в контейнер чет не очень
перед тем как слить ветку на мастер, CI должна показать статус тестов на последнем коммите в этой ветке, красный или зелёный, если красный или ещё не протестировался последний коммит в этой ветке - кнопка сливания с мастером будет заблокирована
источник

И

Игорь in Django [ru] #STAY HOME
Ну тут система такая. Пришел коммит мастер, запускается тествое окружение с последней версией кода, гонятся тесты. Если не 100% процентов тестов прошли, коммит реджектится.

Если тесты прошли, то коммит проходит на сервер, делается пулл в volume c кодом на проде и рестартится сам Джанго.
Контейнер, как работал, так и работает
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
Alex
херока как раз пример плохого вендор лока и платформы вообще
она ориентирована на новичков с деньгами) например, на американских школьников-стартаперов, которым родители дают много карманных денег))
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
стартаперы Heroku и Digital Ocean любят)
источник