Всего 125 991 комментарий

Сергей
11 октября 2021, 09:59
0
Где же вы были раньше, буквально пару дне назад закончили подключение))
Илья Уткин
11 октября 2021, 09:34
0
Ну проектов в команде много. Часто приходится подключать к проекту нового разработчика. В нашей ситуации он делает просто git clone, docker-compose up -d, запускает миграции и готов уже работать над своей задачей.
Алексей Шумаев
11 октября 2021, 09:24
0
Согласен. Я вот к этой части вопроса отписался:
Я еще могу понять использование докера там, где крайне сложный проект, который задействует mysql, postgress, redis, php, python и go, все это завязано в общую систему. Но для modx? зачем?
:-)
Александр Мельник
11 октября 2021, 09:19
+1
Никто не говорит, что докер это плохая технология. Но это инструмент и его нужно применять там, где он нужен и приносит выгоду. Насколько я понимаю, докер создан чтобы решить проблему разных сред разработки. Обеспечить беспроблемный перенос программ с сервера на сервер, на заботясь о постоянной переконфигурации. Поэтому и показалось, что использовать докер просто на своем компьютере, но при этом не выгружать контейнеры на сервер — это странное использование инструмента.
Николай Савин
11 октября 2021, 09:16
+1
Вот вам еще один вариант работы с элементами базы данных, где можно применить контроль версий — это App, которые Василий Наумкин предложил еще в 2017 году.
На базе этого решения функционирует текущая версия modx.pro.
Здесь конечно не миграции, но тоже php код который позволяет создать, удалить, обновить любые элементы внутри базы данных.
Алексей Шумаев
11 октября 2021, 09:11
0
Это отличная вводная статья для новичков. Кто-то, кто что-то слышал про Doker, но боялся спросить использовать, увидит, что всё не так страшно и даже modx можно вписать в современный стек разработки.
Само-собой предполагается, что нужно почитать ещё материалы по теме, но чтобы попробовать — вполне достаточно.

Надо оно для modx или нет — решает каждый сам для себя, конечно. Я однозначно рекомендую попробовать, хотя бы для своего роста как разработчика. Чтобы потом легко перейти на современную разработку в любой команде.

Самое крутое, что я пока вижу в Doker'е — возможность разбить один большой сервис на кучу микросервисов, которые можно легко сопровождать/обновлять по отдельности + масштабирование + отказоустойчивость. Да, есть накладные расходы, но оно того однозначно стоит.
Собираюсь некоторые старые разработки перевести на Doker + k8s.
Александр Мельник
11 октября 2021, 09:09
0
А еще очень интересно, ведь получается что решена самая главная беда modx, это версионный контроль чанков, сниппетов и прочего, которые хранятся в базе данных. Было написано много «костылей» чтобы обойти это и гитифай и гитмодекс, а получается что это можно решить простыми миграциями? Хотя я лично не понимаю как, например в ларавеле миграции это php код который ты пишешь сам и который описывает изменения в базе данных и потом единажды запускается, так же устроены миграции в doctrine. Как созданный в админке сниппет вдруг попадет в миграцию. В общем нужно найти время и выполнить то что написал Илья, спасибо ему что делится с нами.
Руслан Сафин
10 октября 2021, 20:08
0
я думаю это вводная статья для новичков, которые хотят познакомится с технологией… понятно что удобство докера в одинаковой среде при деплое, но если выкатить в одну статью сборку контейнера в гите, пуш в регистри, деплой и т.д. получится каша для новичков
Александр Мельник
10 октября 2021, 20:02
+2
Вы так говорите тезка, как будто все уже 3 раза проверили.
git pull это еще не ответы на все вопросы. В чем смысл разрабатывать в докере если контейнер не выгружается на сервер? Я вот еще раз прочел пошагово инструкцию и вижу, что Илья создает инфраструктуру из докер контейнеров у себя локально, а вот на сервер то это не попадает? Туда идут только исходные коды из git? Разве смысл контейнеризации не в том, чтобы один и тот же контейнер запустить как у себя локально так и на сервере? Где в инструкции установка докера на сервере? Где копирование контейнеров на сервер, где их запуск?
Aleksandr Huz
10 октября 2021, 19:46
0
Александр, я рекомендую еще раз прочитать внимательно статью.

А деплой будет заключаться в стягивании изменений из гитхаба и запуске миграций:
git pull && php7.3 vendor/bin/phinx migrate
Александр Мельник
10 октября 2021, 19:35
+1
Я еще могу понять использование докера там, где крайне сложный проект, который задействует mysql, postgress, redis, php, python и go, все это завязано в общую систему. Но для modx? зачем? И как вы потом это переносите на хостинг? Как вы запускаете ваши докер контейнере и заставляете хостинг «подцепить домен» к вашей конфигурации? Или вы для любого сайта на modx теперь используете выделенный сервер? Как выэто поясняете заказчику или «будущим» программистам, которые возьмут на обслуживание простенький сайт на modx, а потом обнаружат что она работет в докер композере…
Александр Мельник
10 октября 2021, 19:28
0
расскажите пожалуйста, зачем это? Что это вам дает? Локальная разработка в докере. Как по мне это даже звучит странно. Почему просто не установить на локальном компьютере php, mysql и nginx? Зачем запускать все это в контейнерах, терять в производительности, усложнять конфигурацию. Какую выгоду вы получаете от разработки локально в докере?
Дмитрий
10 октября 2021, 17:09
0
Спасибо, Роман! Да, действительно, назначил выполнение задач из планировщика на пользователя, где сайт – все окей. Под root в cache папке создавались файлы. Благодарю за наводку.
Руслан Сафин
10 октября 2021, 16:49
+2
давно уже пользуюсь докером, очень удобно. почитайте еще про docker swarm, там можно скейлить инстансы сервисов
iWatchYouFromAfar
10 октября 2021, 14:17
+1
Вот эта крутая тема, давно хочу создать окружения работы с MODx на докере! Спасибо за статью, Илья!

Единственное, на докере разворачиваю стек с nodejs и mongo, там вместо host.docker.internal обычно указываю название контейнера базы данных.
Николай Савин
10 октября 2021, 13:27
+2
О! Огонь — мне как раз надоело на каждый чих сайтики на сервере разворачивать
Роман
10 октября 2021, 10:14
0
Нет. Говорят, что-то из крона вызывается и обрабатывается по рутом. Просто под другим пользователем, не будет работать скрипт, который мне нужен. Поставить в крон, чтобы он каждые две минуты выставлял права на папку cache.
Дмитрий
10 октября 2021, 05:14
0
Роман, добрый день! Удалось ли решить проблему?
Павел Голубев
09 октября 2021, 21:04
0
О как, круто. Спасибо
Максим
09 октября 2021, 18:06
0
Предложить свой код разработчикам?) Ахахаха… Отличная шутка!)
А что конкретно смешного в этом?