
Vladimir
12.07.2017
18:55:49
я юзал раньше git-auto-deploy, но сейчас думаю в сторону Gitlab-CI

Alexander
12.07.2017
18:56:16
если как правильно - то нужно blue-green-deploy делать

Vladimir
12.07.2017
18:56:21
https://github.com/olipo186/Git-Auto-Deploy

Alexander
12.07.2017
18:57:05
если просто как проще/быстрее - то просто средствами, например, докера

Google

Alexander
12.07.2017
18:58:42
https://martinfowler.com/bliki/BlueGreenDeployment.html

X
12.07.2017
18:59:11

Alexander
12.07.2017
18:59:28
дёргать можно через ansible или через терминал вручную или через CI автоматически
смотря какой проект и какой уровень организации всего этого

Vladimir
12.07.2017
18:59:58
Аналогично))
у меня код у них в облаке сейчас смотрю как там настроить.

Никита
12.07.2017
19:00:07
Кстати еще такой вопрос, нужно отправлять push уведрмления по времени (ну к примеру поставили в 12.00 отправить), никак не могу придумать реализацию(раньше использывал cron, каждые 5 минут проверял базу), может есть вариант по проще? Или библиотека по лучше?

Eugene
12.07.2017
19:01:04
FTP в 2к17 о.о

Alexander
12.07.2017
19:02:40
да, я вот тоже удивился, поэтому про троллинг написал)

X
12.07.2017
19:02:51

Никита
12.07.2017
19:03:41
FTP в 2к17 о.о
Грубо конечно, но эфективно) Вот подумал поменять дубинку на автомат уже

Eugene
12.07.2017
19:04:01
Я даже не представляю как это.

Alexander
12.07.2017
19:04:38

Eugene
12.07.2017
19:05:48
я видел кнопку в PyCharm'е
так по поводу докера, для локального дева тоже его используешь?
Я вот последнее время стал пользоваться, как-то все быстрее и удобнее.

Google

Alexander
12.07.2017
19:06:03
я делаю образ на базе того, что уходит на production
в нём дополнительные вещи типа flake8
для отладки
то есть в IDE у меня слегка расширенный образ подключён
у меня было заметно некоторое ускорение работы
это некий новый формат фс, которого официально пока нет

Eugene
12.07.2017
19:11:48
Схороню на будущее, когда появится мак. :)

Alexander
12.07.2017
19:11:51
но неофициально он есть)
в новой версии ОС она будет по умолчанию, а пока там нужно через терминал настраивать, в дисковой утилите через GUI этого нет
то есть в macOS Sierra 10.12 так можно сделать

Eugene
12.07.2017
19:12:38
кстати, на маках докер нейтив ?

Alexander
12.07.2017
19:12:45
как на винде
ну, вроде
раньше он был через Virtualbox
сейчас стал как-то получше

Eugene
12.07.2017
19:13:51
Вот в винде он через virtual да.
Мне вот в Линуксе что и нравится, он нативен, без virtualbox и прочего.
На маках вроде тоже с недавних пор стал

Alexander
12.07.2017
19:15:03
https://developer.apple.com/documentation/hypervisor
https://github.com/mist64/xhyve

Google

Alexander
12.07.2017
19:15:22
вот это там используется под капотом

Ilya
12.07.2017
19:15:42

Eugene
12.07.2017
19:15:58
круто!

Alexander
12.07.2017
19:16:12
работает оно быстро

Ilya
12.07.2017
19:16:15
Я хочу найти что-то подобное
Но незнаю как

Alexander
12.07.2017
19:17:12
вот в Wagtail там есть система генерации контента страницы
набор блоков
их можно ставить в любом порядке
и там много типов блоков
это логическое развитие идеи WYSIWYG

Alexander
12.07.2017
19:17:55
для всей страницы в целом
ещё есть нечто подобное на js
но к нему API надо делать

Eugene
12.07.2017
19:18:18
в Djnago-cms такое вроде есть.

Alexander
12.07.2017
19:18:46
самый клёвый компонент был на js из тех, что я видел

Eugene
12.07.2017
19:19:53
в django-cms есть.
https://control.aldryn.com/demo/get-new/ можешь вот тут демку глянуть

Google

V
12.07.2017
20:13:59
скажите, есть у кого опыт интеграции с coinpayments.net? апи вроде не сложное, но есть конкретные вопросы по работе с сервисом через апи, хотелось бы в личке чуть-чуть пообщаться. собственно, первоначально вопрос про прикручивание возможности работы с криптовалютами вообще. бек на джанге

Sergey
12.07.2017
20:38:01
расширьте свой кругозор - спросите про доскер в профильных чатах ? у девопсов или сисадминов :-DDDD эти тексты я уже там видел, и к чему это привело - тоже видел.
пример: джанге требуется база. какая - да любая. внимание, вопрос: база - тоже в контейнере? если нет - ой, красивая схема протекла, превратилась в грязную лужу на полу. если да - это будет держать нагрузку из одного разработчика и одного тестировщика, а на проде умрёт жалкой смертью.

Roman
12.07.2017
21:25:15
я не понимаю про что тут спор
докер говно?)

Sergey
12.07.2017
21:30:31
докер - инструмент, который заточен на определённый класс задач, а не серебрянная пуля

Admin
ERROR: S client not available

Alexander
13.07.2017
04:24:14
у меня все базы в контейнерах, никаких проблем нет, никакой дополнительной сложности с этим тоже нет
к контейнерам монтируются директории с ноды
и фактически файлы данных базы лежат там, а в контейнере пакет, клиент, бинарники и прочее
таким образом, типичный Django-проект - это 3 контейнера - веб-сервер, сервер приложений и субд
к субд-контейнеру монтируется директория для хранения базы данных, к серверу приложений (uWSGI) или ничего не монтируется (тогда media-файлы он пишет на S3) или монтируется директория для хранения медиа-файлов с ноды, к веб-серверу (Caddy Server в моём случае), аналогично, или ничего не монтируется (тогда он просто проксирует к uWSGI) или монтируется та общая директория для хранения медиа-файлов, uWSGI-контейнер в неё пишет, а контейнер с веб-сервером оттуда раздаёт файлы


Dan
13.07.2017
04:35:57
я смотрю тема докера не утихает

Роман
13.07.2017
04:37:31
уже же все, холивары отгремели
lxd рулит же :D

Dan
13.07.2017
04:38:03
тогда вопрос
как правильно запускать django приложение в контейнере?
я запускал через связку supervisor/nginx/uwsgi
но видел через django-вский runserver
второй вариант мне не очень нравится но хотелось бы узнать как вообще правильно


Alexander
13.07.2017
04:38:07
к субд-контейнеру монтируется директория для хранения базы данных, к серверу приложений (uWSGI) или ничего не монтируется (тогда media-файлы он пишет на S3) или монтируется директория для хранения медиа-файлов с ноды, к веб-серверу (Caddy Server в моём случае), аналогично, или ничего не монтируется (тогда он просто проксирует к uWSGI) или монтируется та общая директория для хранения медиа-файлов, uWSGI-контейнер в неё пишет, а контейнер с веб-сервером оттуда раздаёт файлы
и вот если вынести файлы на S3 или аналогичную систему, можно убрать потребность в монтировании директории с медиа-файлами)
то есть там будет некий внешний CloudFlare + S3 для хранения и раздачи статики, а наш веб-сервер будет лишь получать Lets Encrypt-TLS-сертификаты и проксировать к uWSGI, эти сертификаты можно никуда не записывать на ноду, то есть будет stateless-контейнер, который легко выключить и запустить на другом сервере или VPS
с uWSGI аналогично)
с базой, да, есть пока некоторые сложности (с задержкой в случае внешнего сервиса), stateless-контейнер тут не получится, если у нас крупный проект - то это могут быть отдельные серверы (с докером или без докера, тут не важно)


Dan
13.07.2017
04:39:07
я про тоже

Alexander
13.07.2017
04:39:09
просто некий тестовый сервер на время разработки

Google

Alexander
13.07.2017
04:39:57
то есть можно в docker-compose написать там command: python3 /usr/src/app/manage.py runserver 0.0.0.0:8000
и вот когда мы будем делать docker-compose up, он будет стартовать наш тестовый сервер

Dan
13.07.2017
04:40:48
эт понятно
как правильно делать для прод-а

Alexander
13.07.2017
04:41:04
у меня оно через rkt работает) насколько это правильно - я не знаю))

Erzh
13.07.2017
04:41:13

Alexander
13.07.2017
04:41:14
rkt это wrapper к systemd-nspawn

Dan
13.07.2017
04:41:16
rkt это чт ?

Alexander
13.07.2017
04:41:40
https://www.freedesktop.org/software/systemd/man/systemd-nspawn.html
https://github.com/rkt/rkt
rkt - некая альтернатива Docker'у
для запуска контейнеров
она лёгкая
unix way

Dan
13.07.2017
04:42:49
но тут вопрос как правильно запускать внутри контейнера

Alexander
13.07.2017
04:43:01
1 контейнер - 1 процесс
то есть без supervisord внутри если это возможно