@prophp7

Страница 1238 из 1387
Evgeniy
07.08.2018
16:56:06
проблема начинается с базами данных в контейнере

и всякий кэш когда ты хранил в файлах потом перенастроил в redis

в redis збс оно в ram

но если ram не хватает и надо юзать файлы то их монтировать только в контейнер

Google
Evgeniy
07.08.2018
16:57:00
и получае теже проблемы io

поэтому приходится костылять

ну или похуй на производительность и закладываться по ресурсам

Александр
07.08.2018
16:58:48
ну или похуй на производительность и закладываться по ресурсам
Вот пока так, у меня нагрузка мизерная, но думаю как это покрасивее сделать

Evgeniy
07.08.2018
16:59:05
ну пока нет проблемы зачем ее себе предумывать ?)

Artem
07.08.2018
16:59:15
У меня просто на всех проектах примерно одинаковое окружение
по идее DRY тут не применим - если ты будешь, например, версию пхп обновлять на одном проекте - это не значит, что на всех остальных тоже будешь обновлять.

Александр
07.08.2018
16:59:17
Evgeniy
07.08.2018
16:59:19
если что докупишь сервервак воткнешь ноду в куб и збс

Александр
07.08.2018
16:59:34
Evgeniy
07.08.2018
16:59:44
я для dev делаю контейнер workspace

в нем храню окружение разраба

типо composer, yarn и прочие тулзы

чтобы на хост машину их не ставить

Google
Александр
07.08.2018
17:00:24
типо composer, yarn и прочие тулзы
У тебя получается композер отдельно от php-fpm контейнера?

Evgeniy
07.08.2018
17:00:25
тогда docker-compose run workspace composer install например обновит зависимости

типо да

Anton
07.08.2018
17:00:43
Какие в докере проблемы с IO

Artem
07.08.2018
17:00:47
чтобы на хост машину их не ставить
а почему не в контейнере с пхп? На продакшене же тоже композер нужен

Evgeniy
07.08.2018
17:00:47
в php-fpm контейнер только php-fpm

Anton
07.08.2018
17:00:58
Там нативно все

Александр
07.08.2018
17:01:13
Мне показалось это неудобным, так как нужно чтобы он был таким же как и php-fpm полностью для установки зависимостей всяких

Evgeniy
07.08.2018
17:01:40
зачем на проде composer или yarn ?

эти инструменты на этапе сборки нужны

Artem
07.08.2018
17:01:54
зачем?
ну типа добавил новую зависимость в композере - надо же обновить зависимости на продакшене

Evgeniy
07.08.2018
17:02:06
а потом деплоишь контейнер на прод со всеми нужными файлами

Anton
07.08.2018
17:02:26
Уже не так делают. Делают FROM composer там install потом копируют

То же самое с npm

Artem
07.08.2018
17:03:00
ты обновляешь зависимости на ci
значит у меня странные представления об этом =\

Anton
07.08.2018
17:03:01
FROM может быть несколько

И не надо на CI ставить композер

Evgeniy
07.08.2018
17:03:22
в докер файле это не обязательно делать

Google
Evgeniy
07.08.2018
17:03:32
у тебя есть грубо говоря папка с бэкендом

Александр
07.08.2018
17:03:34
Это multistage build?

Anton
07.08.2018
17:03:47
Evgeniy
07.08.2018
17:03:52
так ci может докер environment поднимать

и там уже будет композер

тот же workspace контейнер

Valentin
07.08.2018
17:04:18
ты обновляешь зависимости на ci
Ты там не планируешь по деплою видос записать? Уже давно идею накинул)

Evgeniy
07.08.2018
17:04:24
и через docker-compose run workspace composer install —prefer-dist

Anton
07.08.2018
17:04:27
Не знаю что такое workspace контейнер

Evgeniy
07.08.2018
17:04:46
Anton
07.08.2018
17:04:53
А, ну можно и так

Evgeniy
07.08.2018
17:05:50
в workspace можно тулзы хранить для разработки

Evgeniy
07.08.2018
17:06:04
на проде composer, yarn, webpack не нужно

Anton
07.08.2018
17:06:11
Мы так тоже на деве делаем, но для прода хотелось бы просто build сделать и не париться по возможности

Но то вкусовщина

Evgeniy
07.08.2018
17:06:22
так и делай билд

а потом результат билда /dist

вносишь в контейнер фронта где nginx

from nginx COPY /dist /var/www

Anton
07.08.2018
17:06:59
Ну я понимаю о чем ты

Google
Evgeniy
07.08.2018
17:07:07
и этот контейнер пушиш в registry

а на проде просто куб увидев новый контейнер

сам перезапустит контейнеры

Artem
07.08.2018
17:07:27
@KuvshinovEE кстати я щас подумал, что если обновлять зависимости на продакшене при наличии нескольких контейнеров одного типа - может получиться, что на разных контейнерах будут разные зависимости :D

Evgeniy
07.08.2018
17:07:40
да можно

Anton
07.08.2018
17:07:49
Ну разные есть способы, вот multistage build можно вместо этого юзать

Evgeniy
07.08.2018
17:07:53
поэтому существуют бесшовные обновления и "шовные"

и проще всего делать шовные обновления когда табличка у нас тех обслуживание

а на этапе разработки

ты просто docker-compose run workspace npm run dev

Admin
ERROR: S client not available

Evgeniy
07.08.2018
17:10:09
который стартует webpack с hotreload и пробрасывает порт

либо в отдельный dev контейнер где висит такой процесс и в композе порт прокидываешь

ну это чисто имхо

Anton
07.08.2018
17:12:44
Кубернетес я бы мне кажется не трогал для начала

На сворме кластер попроще поднять да и тот же docker-compose юзать для деплоя можно. А потом когда придет понимание почему сворм не нравится можно и кубернетес :)

Evgeniy
07.08.2018
17:15:39
ну да это дело вкуса я по продакшену тоже не особо эксперт на контейнерах)

но для разработки очень прикольная штука

дев разработка может вестись в контейнерах например

ci может тоже на контейнерах поднимать окружение для сборки проекта, результат сборки может быть разный и этот результат потом деплоиться по нужным окружениям

Google
Evgeniy
07.08.2018
17:18:10
а деплоится это может кучей разных способов 1. контейнеры 2. сборка в архив и на фаил сервер, и разворачивание скриптами на каждом сервере и переключение(симлинками например) 3. сборка в .deb .rpm пакет и на всех серверах подключенный репозиторий и билд это залить новую версию пакета в репозиторий

каждый подход имеет свои плюсы и минусы и свои инструменты и подходы и сильно зависит от наличия или отсутствия бесшовных обновлений, всяких сине зеленых выливок и тд

это имхо возможно я ошибаюсь, был бы рад если бы подправили

Ты там не планируешь по деплою видос записать? Уже давно идею накинул)
планирую но лень, хочу некоторые вещи обкатать

Valentin
07.08.2018
17:26:58
планирую но лень, хочу некоторые вещи обкатать
Я вот тоже теорию уже понимаю, но на практике ещё не попробовал, могу статтей накинуть если надо, уже много в закладках

Evgeniy
07.08.2018
17:27:30
потому что деплой сильно зависит от системы постановки задач о том что такое проект (проект это один сайт, проект это несколько сайто, проекто это фронтенд одно сайта и тд у всех по разному) от того как это разбито в системе постановки задач, а соответственно от того как ставятся задачи далее это все зависит от жизненого цикла задачи (backlog, todo, design, dev, review, test, deploy примерные этапы у всех они разные и по разному называются) и деплой бывает на разные окружения, деплой на production окружение это релиз например, у кого то не бывает промежуточных сборок и там куча своих нюсансов. далее сильно зависит как идет выливка, 1 релиз одна задача или 1 релиз куча задач тут тоже есть разновидности в релизе по одной задаче они выклдываются или сразу все кучей

ну далее исходя их всей этой ... надо выбирать инструменты

Valentin
07.08.2018
17:28:00
Мне надо будет наверное дефолтный сетап делать php + postgres + крон + демон и супервайзор с ним, ну и само собой установка зависимостей и прогон тестов

Evgeniy
07.08.2018
17:28:04
еще есть dev окружения и тд

но сильно все зависит от способа постановки задач и разделения на проектов

может быть mono repository

а может быть для frontend свой репозиторий для бэкенд свой

Valentin
07.08.2018
17:29:06
+ react
Да, но это у меня отдельный репозиторий, соответственно идёт как другой проект, ну и не реакт а vue)

Evgeniy
07.08.2018
17:29:08
или микросервисы на бэкенде

ну там сборка в обоих случаях одинакова

npm run build и дальше заводится шарманка webpack

но опять тулз полно но они берут какой то конкретный кейс

Valentin
07.08.2018
17:30:51
Ну если монореп с фронтом вместе то немного не понимаю - при любом коммите с изменениями только бекенда - фронт всё равно будет пересобираться?

Evgeniy
07.08.2018
17:31:08
мне кажется это меньшая из зол)

Valentin
07.08.2018
17:31:17
Или можно как то разделять, узнать затронуты ли файлы фронта?

мне кажется это меньшая из зол)
Ну хз, кэш юзеров будет сбрасываться

Не круто

Страница 1238 из 1387