Size: a a a

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

2020 July 16

1

1Bot in Docker — русскоговорящее сообщество
Egor Eprincev
Господа, подскажите пожалуйста, что лучше использовать для управления множеством staging копий одного приложения на разных серверах.

На данный момент использую gitlab-runner + docker in docker чтобы на сервере собирать образ для ветки проекта, а затем запускать на этом же сервере копию приложения база + бекенд.

Также в рамках gitlab-runner  конфигурирую nginx, чтобы у копии был свой под-домен (имя_ветки.staging....ru)

Долгое время этого подхода хватало, но сейчас ресурсов одного сервера уже не хватает и нужно часть staging-копий перенести на другой сервак.

Проблема в том, что если на каждом сервере запустить по runner'у, то pipeline для одной и той же ветки будет запущен "рандомно" либо на одном сервере, либо на другом. И нужно переносить каждый раз базу. Плюс нужно иметь счетичк версии в рамках ветки и release log по каждой ветке.

Я конечно могу например общие папки смонтировать между серверами, или написать какой-то staging менеджер на коленке. Но хотелось бы узнать, есть ли что-то готовое?
Добрый день, что отличается в разных stage?
источник

EE

Egor Eprincev in Docker — русскоговорящее сообщество
Там могут быть доработки, новая фича, которую хотим протестировать
источник

EE

Egor Eprincev in Docker — русскоговорящее сообщество
И вам доброго утра
источник

BK

Bronislav Kornev in Docker — русскоговорящее сообщество
Привет ку.
Такой вопрос хочу подключиться из контейнера к локальной бд(mysql)
ну и вообщем куда копать )
источник

AM

Artur Mustafin in Docker — русскоговорящее сообщество
Egor Eprincev
Господа, подскажите пожалуйста, что лучше использовать для управления множеством staging копий одного приложения на разных серверах.

На данный момент использую gitlab-runner + docker in docker чтобы на сервере собирать образ для ветки проекта, а затем запускать на этом же сервере копию приложения база + бекенд.

Также в рамках gitlab-runner  конфигурирую nginx, чтобы у копии был свой под-домен (имя_ветки.staging....ru)

Долгое время этого подхода хватало, но сейчас ресурсов одного сервера уже не хватает и нужно часть staging-копий перенести на другой сервак.

Проблема в том, что если на каждом сервере запустить по runner'у, то pipeline для одной и той же ветки будет запущен "рандомно" либо на одном сервере, либо на другом. И нужно переносить каждый раз базу. Плюс нужно иметь счетичк версии в рамках ветки и release log по каждой ветке.

Я конечно могу например общие папки смонтировать между серверами, или написать какой-то staging менеджер на коленке. Но хотелось бы узнать, есть ли что-то готовое?
базу не нужно переносить, просто сделайте несколько баз
источник

AM

Artur Mustafin in Docker — русскоговорящее сообщество
Bronislav Kornev
Привет ку.
Такой вопрос хочу подключиться из контейнера к локальной бд(mysql)
ну и вообщем куда копать )
воспользуйся режимом host
источник

EE

Egor Eprincev in Docker — русскоговорящее сообщество
Artur Mustafin
базу не нужно переносить, просто сделайте несколько баз
Спасибо за ответ, но есть нюанс. Над какой-либо задачей ведут работу в течении некоторого времени. Если каждый раз (на каждый коммит) создавать базу с нуля, то нужно ждать, пока все миграции пройдут. А это отнимает много времени. Хотелось бы, чтобы где (на каком сервере) тестовый стенд для ветки был развернут изначально, там и продолжалась последующая пересборка
источник

AM

Artur Mustafin in Docker — русскоговорящее сообщество
Egor Eprincev
Спасибо за ответ, но есть нюанс. Над какой-либо задачей ведут работу в течении некоторого времени. Если каждый раз (на каждый коммит) создавать базу с нуля, то нужно ждать, пока все миграции пройдут. А это отнимает много времени. Хотелось бы, чтобы где (на каком сервере) тестовый стенд для ветки был развернут изначально, там и продолжалась последующая пересборка
я об этом и говорю, запускается база не в пайлайне, а как отдельный сервер, пересбрка базы не нужна, если вы не меняете исходный код сервера БД, в общем-то. то есть если нужна база с определенным состоянием, у вас есть слепок на вольюмах,
источник

EE

Egor Eprincev in Docker — русскоговорящее сообщество
Artur Mustafin
я об этом и говорю, запускается база не в пайлайне, а как отдельный сервер, пересбрка базы не нужна, если вы не меняете исходный код сервера БД, в общем-то. то есть если нужна база с определенным состоянием, у вас есть слепок на вольюмах,
Другими словами: В теории у меня будет N копий для одной ветки, на каждом сервере, где была попытка развренуть. Правильно ли я вас понял?
источник

vS

vassenin Sergey in Docker — русскоговорящее сообщество
Привет всем
источник

vS

vassenin Sergey in Docker — русскоговорящее сообщество
Подскажите как решить проблему
источник

vS

vassenin Sergey in Docker — русскоговорящее сообщество
Прохожу курс по Яндекс диалогам . Все как в описании сделал скачал докер node.js . Создал json с зависимостями micro и nodemon и запустил контейнер. По идее micro это сервер https а nodemon отслеживает изменения в коде . На уроках видно что когда код меняешь сервер принимает изменения . А в моем случае пока не перезапустить сервер ничего не меняется
источник

EE

Egor Eprincev in Docker — русскоговорящее сообщество
vassenin Sergey
Прохожу курс по Яндекс диалогам . Все как в описании сделал скачал докер node.js . Создал json с зависимостями micro и nodemon и запустил контейнер. По идее micro это сервер https а nodemon отслеживает изменения в коде . На уроках видно что когда код меняешь сервер принимает изменения . А в моем случае пока не перезапустить сервер ничего не меняется
а можно ссылку?
источник

vS

vassenin Sergey in Docker — русскоговорящее сообщество
На курс ?
источник

EE

Egor Eprincev in Docker — русскоговорящее сообщество
да
источник

vS

vassenin Sergey in Docker — русскоговорящее сообщество
источник

ST

Sergey Trapeznikov in Docker — русскоговорящее сообщество
vassenin Sergey
Прохожу курс по Яндекс диалогам . Все как в описании сделал скачал докер node.js . Создал json с зависимостями micro и nodemon и запустил контейнер. По идее micro это сервер https а nodemon отслеживает изменения в коде . На уроках видно что когда код меняешь сервер принимает изменения . А в моем случае пока не перезапустить сервер ничего не меняется
нужны сорсы, конфиги и тп
источник

vS

vassenin Sergey in Docker — русскоговорящее сообщество
Sergey Trapeznikov
нужны сорсы, конфиги и тп
Где их взять просто с докером я ещё не особо знаком
источник

vS

vassenin Sergey in Docker — русскоговорящее сообщество
По идее должны были выйти ошибки в консоли но их не было
источник

ST

Sergey Trapeznikov in Docker — русскоговорящее сообщество
vassenin Sergey
Где их взять просто с докером я ещё не особо знаком
может стоит начать с официальной документации?
источник