Информация об изменениях

Сообщение Re: Docker - для релиза или для разработки? от 08.05.2020 20:00

Изменено 08.05.2020 20:00 vsb

Re: Docker - для релиза или для разработки?
Вообще мне понравилась концепция докера. Но как-то у меня не срастается с практикой. Как ни поставлю, то зависает, то сервер зависает через какое-то время. В общем пока отложил. Но это было несколько лет назад, может уже отладили.

В целом для некоторых юз-кейсов при разработке считаю его просто божественным. Всё хочу внедрить в тестирование. Концепция такая. Есть чистая база, на неё накатываются миграции (SQL-файлы), после всех миграций база становится в чистом актуальном состоянии (без данных). После этого на этой чистой базе прогоняются тесты. При этом каждый тест рассчитывает на то, что база, собственно, чистая. Сейчас это всё делается в полу-ручном состоянии и тесты делают rollback после выполнения, но это не идеальный вариант. С докером я хочу сделать так: каждая миграция это отдельный слой. Т.е. если мы меняем последнюю миграцию (при разработке), то они все не прогоняются заново, а берётся предпоследнее состояние базы, это должно быть куда быстрей. Также для каждого теста берётся последнее состояние базы прям на диске, тест прогоняется, можно делать коммит, а состояние потом выбрасывается. Можно даже пускать несколько тестов параллельно.

Правда пока не осилил так сделать, как-то пытался, но слишком муторно это всё. Но концепция мне очень нравится и когда-нибудь осилю.
Re: Docker - для релиза или для разработки?
Вообще мне понравилась концепция докера. Но как-то у меня не срастается с практикой. Как ни поставлю, то зависает, то сервер зависает через какое-то время. В общем пока отложил. Но это было несколько лет назад, может уже отладили.

В целом для некоторых юз-кейсов при разработке считаю его просто божественным. Всё хочу внедрить в тестирование. Концепция такая. Есть чистая база, на неё накатываются миграции (SQL-файлы), после всех миграций база становится в чистом актуальном состоянии (без данных). После этого на этой чистой базе прогоняются тесты. При этом каждый тест рассчитывает на то, что база, собственно, чистая. Сейчас это всё делается в полу-ручном состоянии и тесты делают rollback после выполнения, но это не идеальный вариант. С докером я хочу сделать так: каждая миграция это отдельный слой. Т.е. если мы меняем последнюю миграцию (при разработке), то они все не прогоняются заново, а берётся предпоследнее состояние базы, это должно быть куда быстрей. Также для каждого теста берётся последнее состояние базы прям на диске, тест прогоняется, можно делать коммит, а состояние потом выбрасывается. Можно даже пускать несколько тестов параллельно.

Правда пока не осилил так сделать, как-то пытался, но слишком муторно это всё. Но концепция мне очень нравится и когда-нибудь осилю.

Оверхед у докера по идее совсем небольшой. Это же не виртуальная машина.