Size: a a a

2020 October 22

AA

Artem Aleksandrov in symfony
Павел Г.
С ними  и с анализом ))) минус парочку минут из этого времени)) но смысл в том, что проект то маленький. Я вот и думаю, что было бы, если он был больше чем нихера.
Я бы вообще не парился  если до 10 минут.
источник

D

Dmitry in symfony
Павел Г.
А вообще с CI|CD головняк по времени. Проект мелкий, а каждая сборка в гитлабе и деплой через деплоер (без фронта) занимает по 8 минут. Дичь какая то :( вроде и кэш стоит.
а куда уходит столько времени ?
ну ладно если на тесты, там у каждого свои заморочки..
у меня на деплой уходит 4.5 минуты, из них 2.5 на тесты, минута на слип (мне было лень писать wait-until для очереди)
источник

ПГ

Павел Г. in symfony
Dmitry
а куда уходит столько времени ?
ну ладно если на тесты, там у каждого свои заморочки..
у меня на деплой уходит 4.5 минуты, из них 2.5 на тесты, минута на слип (мне было лень писать wait-until для очереди)
Ну  мб машинка слабая я хз. Гилаб поднимает докер,  докер сделает сборку,  выкачивает зависимости, так как кэш скорее всего только на текущий коммит, ибо зависимости могут поменяться.
источник

D

Dmitry in symfony
Павел Г.
Ну  мб машинка слабая я хз. Гилаб поднимает докер,  докер сделает сборку,  выкачивает зависимости, так как кэш скорее всего только на текущий коммит, ибо зависимости могут поменяться.
а зачем для того чтобы выкачать зависимости на машине сборки вам нужен докер ?
зависимости выкачиваются хостом, если вам так уж нужно положить данные прямо в докер то потом проще их туда просто скопировать - это минус нагрузка
далее, зависимости меняются не так часто, поэтому кеш композера должен работать и там выкачивать нечего вообще потому как композер лок у вас то в репе, по нему все и поставится
источник

D

Dmitry in symfony
образы докера тоже не пересобираются, максимум только контейнеры, а это быстро
источник

СВ

Сергей Вершинин... in symfony
Почему это? Может в before написана сборка intl и прочей фигни)
источник

ПГ

Павел Г. in symfony
Dmitry
а зачем для того чтобы выкачать зависимости на машине сборки вам нужен докер ?
зависимости выкачиваются хостом, если вам так уж нужно положить данные прямо в докер то потом проще их туда просто скопировать - это минус нагрузка
далее, зависимости меняются не так часто, поэтому кеш композера должен работать и там выкачивать нечего вообще потому как композер лок у вас то в репе, по нему все и поставится
Ну я не совсем шарю...
В настройках гитлаба указывается образ в котором будет происходит сборка и тестирование.
Т.е. сначала все в докер скачивается, там анализируется тестируется. Потом в этом докере запускается деплоер, и уже он снова собирает (vendor) на проде
источник

D

Dmitry in symfony
потому что образ на то и образ, чтобы собирать его редко, а не на каждом чихе
остальное должно конфигурироваться
источник

D

Dmitry in symfony
Павел Г.
Ну я не совсем шарю...
В настройках гитлаба указывается образ в котором будет происходит сборка и тестирование.
Т.е. сначала все в докер скачивается, там анализируется тестируется. Потом в этом докере запускается деплоер, и уже он снова собирает (vendor) на проде
жестоко, очень...
источник

ПГ

Павел Г. in symfony
Dmitry
жестоко, очень...
А как правильно?
источник

ПГ

Павел Г. in symfony
Конкретно кейс с гитлабом
источник

СВ

Сергей Вершинин... in symfony
Сложно что то подсказать не видя gitlab.ci.yaml
источник

D

Dmitry in symfony
зависит от ваших потребностей, но предположим что вам нужна переносимость образа - т.е код будет лежать прямо в образе
тогда у вас должна стоять отдельная машина где будут происходить запуски тестов, сборка вендора, сборка образа (тут вам придется таки пересобирать образ чтобы положить новый код в докер)
затем этот образ кладется куда-то в вашу репу образов
и дается команда на прод машину что образ обновился, обновляйся
источник

D

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

ПГ

Павел Г. in symfony
Dmitry
зависит от ваших потребностей, но предположим что вам нужна переносимость образа - т.е код будет лежать прямо в образе
тогда у вас должна стоять отдельная машина где будут происходить запуски тестов, сборка вендора, сборка образа (тут вам придется таки пересобирать образ чтобы положить новый код в докер)
затем этот образ кладется куда-то в вашу репу образов
и дается команда на прод машину что образ обновился, обновляйся
У нас проект не в докере
источник

D

Dmitry in symfony
так, а зачем вам тогда докер в принципе ?
источник

ПГ

Павел Г. in symfony
Dmitry
так, а зачем вам тогда докер в принципе ?
Ну как я понимаю для гитлаба нужен образ в котором он будет собирать
источник

D

Dmitry in symfony
у гитлаа есть понятие раннера - оно тупое, вы ему клиента с раннером и тот будет выполнять там все команды
источник

D

Dmitry in symfony
раннер это обычная вм с установленным всем что нужно для тестов и сборки
источник

D

Dmitry in symfony
зачем вам докер я не понимаю в принципе, если на проде докера нет, то нет смысла его использовать в раннерах
источник