support 447 Опубликовано 8 мая, 2019 Жалоба Share Опубликовано 8 мая, 2019 В cezerin2 можно полностью работать в docker окружении и не надо вручную настраивать на сервере окружение, т.е. не надо устанавливать, настраивать веб-сервер, nodejs, базу данных mongodb , git и т.д. Всё это можно запускать уже настроенным docker контейнерами. Вот видео про установку cezerin через докер. По умолчанию есть docker образы cezerin2 - https://github.com/Cezerin2/docker-cezerin2 Я их запускаю, к примеру на cezerin.ru, видео выше, как запускается всё это. Через полгода, допустим, выходит новая версия cezerin или например мне надо кнопку на сайте перекрасить в красный цвет или добавить новую форму, т.е. надо что-то исправить на сайте, как это сделать?! Как мне обновить сайт cezerin.ru до новой версии?! Очень просто. Заходите на сервер и пересобираете докер контейнеры. docker-compose down docker-compose up --build Docker сам выкачает текущий код, всё это скомпилирует и запустит. т.е. основной смысл запуска cezerin в виде докер контейнеров - в автоматизации. Вам не надо отдельно выкачивать из github исходный код, компилировать, запускать его. Всё это сделает docker автоматически. Если Вы делаете магазин клиента на базе cezerin, тогда просто на основе докер образов cezerin2 и github репозиториев: https://github.com/cezerin2/docker-cezerin2 https://github.com/cezerin2/cezerin2 https://github.com/cezerin2/cezerin2-store https://github.com/cezerin2/cezerin2-admin Делаете свои репозитории исходного кода клиента и свои докер образы на основе cezerin2. и Вы сможете легко и быстро вносить правки в магазин и развёртывать их на сервере через докер контейнеры. Докер сам выкачаете текущий код, пересоберёт всё и запустит. Ссылка на сообщение Поделиться на другие сайты
DXSh 0 Опубликовано 4 апреля, 2020 Жалоба Share Опубликовано 4 апреля, 2020 Доброе! Поставил через докер компост. работает. но с докерос только начал разбираться, поэтому вопрос как код редактировать править? как-то каталог app пробрасывать из контейнера ? ДА и у меня почему-то изображения при установке не подгрузились ... ? спасибо. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 5 апреля, 2020 Автор Жалоба Share Опубликовано 5 апреля, 2020 12 часов назад, DXSh сказал: Доброе! Поставил через докер компост. работает. но с докерос только начал разбираться, поэтому вопрос как код редактировать править? как-то каталог app пробрасывать из контейнера ? ДА и у меня почему-то изображения при установке не подгрузились ... ? спасибо. Здравствуйте! Всё завязано на github т.е. если просмотреть dockerfile, то видно, что выкачиваются исходники с github, ставятся зависимости, компилируется и запускается. т.е.разработка идёт на github и что б обновить магазин, запускаемый через докер - надо внести правки в код через github. Вы заводите свой репозиторий и вносите туда правки, потому просто пересобираете контейнеры и перезапускаете. Соответственно, правите свой dockerfile под Ваш репозиторий. Мне тоже не очень это нравится, хотя, с другой стороны, получается полная автоматизация практически, когда докер сам всё делает. Как я понимаю, всё-таки разработкой надо заниматься не в докер окружении, а просто npm i, npm run build, npm start, внося правки в код, фиксируя их в системе контроля версия. В докер окружении надо запускать уже магазин в интернете, докер упрощает именно развёртывание, он сам скачивает необходимый софт, код cezerin, компилирует, запускает, изолируется всё в контейнерах. Ссылка на сообщение Поделиться на другие сайты
DXSh 0 Опубликовано 5 апреля, 2020 Жалоба Share Опубликовано 5 апреля, 2020 какая основная ветка ? Где прописана в докере откуда при старте он берёт файлы (с гитхаба)? потом необходимо поменять этот путь на свой ? или это командой изменить можно. я когда создал в админке новый продукт то у меня добавились фото на локальной машине вот по этому пути: /cezerin/content-on-host/images/products/5e88ee1fd16c59003ef44536 вот так создаются статические файлы на Django интерент магазин на его основе Оскар с использованием Docker-compose: 1. Необходимо сгенерировать статические файлы docker exec --user=oscar -it oscar bash -c 'cd sandbox && python3 manage.py collectstatic’ 2. Копируем код из контейнера к себе на хост машину: docker cp oscar:/app . 3. Удаляем контейнеры docker-compose down 4. Добавьте в docker-compose.yml для volumes Nginx : volumes: - ./app/sandbox/public:/usr/share/nginx/html 5. Пересоздаем контейнеры docker-compose up -d Теперь вы можете менять код на хост машине и изменения будут отражаться в контейнере. Интересно тут как то можно создать их и прописать в файле - ./app/cezerin/public:/usr/share/nginx/html ? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 5 апреля, 2020 Автор Жалоба Share Опубликовано 5 апреля, 2020 33 минуты назад, DXSh сказал: какая основная ветка ? Где прописана в докере откуда при старте он берёт файлы (с гитхаба)? потом необходимо поменять этот путь на свой ? или это командой изменить можно. я когда создал в админке новый продукт то у меня добавились фото на локальной машине вот по этому пути: /cezerin/content-on-host/images/products/5e88ee1fd16c59003ef44536 Вот - https://github.com/Cezerin2/docker-cezerin2 Для storefront например вот dockerfile - https://github.com/Cezerin2/docker-cezerin2/blob/master/cezerin2-store/Dockerfile и там по коду видно, что делает докер, ставит весь необходимый софт, в том числе и cezerin, вот: # download project RUN mkdir -p /var/www \ && cd /var/www \ && wget -O cezerin2-store.zip https://github.com/cezerin2/cezerin2-store/archive/$CEZERIN_VERSION.zip \ && unzip cezerin2-store.zip \ && rm cezerin2-store.zip \ && mv cezerin2-store-$CEZERIN_VERSION cezerin $CEZERIN_VERSION вверху объявлена переменная как master т.е. текущий код выгружает. Можно просто номер версии выгружать. т.е. ведёшь свой репозиторий, выпустил новую версию во вкладке Releases и указал в докере номер версии, это что б в работающий сайт не попадал текущий master code Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 5 апреля, 2020 Автор Жалоба Share Опубликовано 5 апреля, 2020 37 минут назад, DXSh сказал: Теперь вы можете менять код на хост машине и изменения будут отражаться в контейнере. Сами образы докер тоже автоматически обновляются на hub.docker.com Я вот например добавил - https://hub.docker.com/search?q=vamshop&type=image т.е. при добавлении каких-то изменений на https://github.com/vamshop/vamshop-docker На хабе сами образы автоматически обновляются так же. А при обновлении кода cezerin, dockerfile так же выкачает сам текущий код и запустит установку и компиляцию. Получается всё завязано на гитхаб и автообновление. Я так понимаю это просто нужно для автоматизации, т.е. один раз развернул cezerin у себя на сайте и всё. Дальше, что б обновить сайт, просто добавляешь правку в github и перезапускаешь контейнеры. Нигде руками лазить не надо. Ссылка на сообщение Поделиться на другие сайты
DXSh 0 Опубликовано 5 апреля, 2020 Жалоба Share Опубликовано 5 апреля, 2020 так не удобно работать через гитхаб, отслеживать версии да, но не работать у себя на ПК. Вы работаете меняете файлы смотрите изменения у себя в докере, после работы вносите изменения на гитхаб и если командой работаете, то закачиваете изменения .. а так вы закачиваете на гитхаб даже не знаете работает или нет это и какие ошибки вызвали ваши изменения... т.е. у вас есть каталог с файлами магазина откуда докер подтягивает их при запуске и еще этот каталог синхронизируется с гитхабом для отслеживания версии ... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 5 апреля, 2020 Автор Жалоба Share Опубликовано 5 апреля, 2020 3 минуты назад, DXSh сказал: так не удобно работать через гитхаб, отслеживать версии да, но не работать у себя на ПК. Вы работаете меняете файлы смотрите изменения у себя в докере, после работы вносите изменения на гитхаб и если командой работаете, то закачиваете изменения .. а так вы закачиваете на гитхаб даже не знаете работает или нет это и какие ошибки вызвали ваши изменения... т.е. у вас есть каталог с файлами магазина откуда докер подтягивает их при запуске и еще этот каталог синхронизируется с гитхабом для отслеживания версии ... Конечно неудобно, в таком виде как сейчас связка docker+cezerin - для разработки не может использоваться, это именно для деплоя в инете, я так понял. Для разработки надо что-то другое делать, может действительно докером поднимать весь софт необходимый и просто пробрасывать локальную папку в контейнер. Не знаю, я не особо вэ том спец, надо посмотреть как это делается в современных проектах типа https://getsaleor.com/ https://www.reactioncommerce.com/ У меня пока что ubuntu где и так весь софт уже установлен, в докере смысла нет. Но вообще, конечно докер использовать круто, если всё правильно сделано. Ссылка на сообщение Поделиться на другие сайты
DXSh 0 Опубликовано 5 апреля, 2020 Жалоба Share Опубликовано 5 апреля, 2020 если у вас несколько проектов для которых требуются разные версии и зависимости, то в таком случае докер необходим для разработки... я только начал изучать докер и гитхаб ... но сейчас постараюсь разобраться и сделать так же с cezerin, как я делал с джанго вывести статические файлы из контейнера и прописать строку volumes: если получиться отпишусь. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 5 апреля, 2020 Автор Жалоба Share Опубликовано 5 апреля, 2020 42 минуты назад, DXSh сказал: если у вас несколько проектов для которых требуются разные версии и зависимости, то в таком случае докер необходим для разработки... я только начал изучать докер и гитхаб ... но сейчас постараюсь разобраться и сделать так же с cezerin, как я делал с джанго вывести статические файлы из контейнера и прописать строку volumes: если получиться отпишусь. ok Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения