Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

stickpro

Users
  
  • Posts

    699
  • Joined

  • Last visited

Everything posted by stickpro

  1. а сколько вы теряте, когда сайт лежит? Скупой платит дважды...
  2. у человека скорее всего mac os, а вы ему openServer советуете поставить. Лучше поспользуейтесь докером и docker-compose. Подхолдящий конфиг можете собрать вот тут http://phpdocker.io/
  3. Так же одна из полезных функций это сборка новых файлов, например мы разрабоатываем модуль, и руками не хотим собирать файлы в руками git diff --name-status b8c5130f f60aa30b | awk '{ if ($1 != "D") print $2 }' | xargs git archive -o output.zip HEAD git diff --name-status nameCommint1 nameCommint2 | awk '{ if ($1 != "D") print $2 }' | xargs git archive -o output.zip HEAD где nameCommit1 первый коммит, например после установки opencart и nameCommint2 коследний коммит, гит соберет все новые файлы и запакует в архив, останется только написать модификатор, если модифицируются стандартные файлы
  4. и это все пишет паша @Pascha ? Который за 8 лет не достиг уровня даже джуна, который не знает даже понятия о psr-12, уровень которого это скопипастить код, и выдавать за свой, кстати так и не дождался ссылки где этот код в открытом доступе. Весь цивилизованный мир использует git вы же самый умный говорите, что это не удобно и не нужно. Прошу прощения, а какой вклад в opensource вы внесли? Или ваш предел только обманывать своих клиентов, выдавая себя за бога, который может в css покрасить кнопки?
  5. Вы когда пиццу домой заказываете, съедает половину, и понимаете что она с ананасами и кукурузой, а вам она не понравилась, тоже возврат оформляет?
  6. что и для чего это постарался описать тут
  7. Я получил некий фидбэк от прошлой статьи, и меня просили сделать более подробный гайд по инициализации и установки git. Итак дано чистый сервер с установленным opencart. Для начала нам нужно установить git, так как я на сервере использую ubuntu я воспользуюсь командой, внимание git должен быть установле везде где вы работает с кодом, будь то это продакшен(боевой) сервер тестовый или локальный пк apt install git на вашем же сервере используется другой пакетный менеджер, вам нужно установить с помощью него в centos например это yum install git На локальном пк можно под windows можно установить данных софт gitforwindows Далее нам по хорошему зарегестрировать на одном из сервисов это может быть github или gitlab я использую в большей степени последний. С регистрацией там все просто. Далее нам нужно создать новый репозиторий кликаем по New project пишем название репозитория, обычно это название сайта, по желанию пишем описание проекта, и выбраем каким будет репозиторий приватным или публичным. Далее gitlab нам сам предлагает, что нужно сделать для инициализации git для начала устанавливаем глобальные конфиги, чтобы видеть кто и его контакт для связи, обычно это операция делается один раз после установки git Переходим в консоль, в моем случае это наш тестовый сервер и пишем последовательно 2 команды далее, так как у нас уже развернут opencart первый вариант который предлагает нам gitlab не подходит, нам больше подходит второй варинат. Но все по порядку для начала перйдем в папку с нашим проектом cd /path/to/you/site итак мы в корневой дирректории нашего сайта теперь мы проинициализируем git командой git init gttи Далее можем сразу указать удаленный репозиторий как нам и предалагает gitlab Далее мы создаим файл .gitignore в него нужно прописать файлы и папки которые мы не хотим загружать в репозиторий который гит будет игнорировать и не будет трогать не при каких обстоятельствах, например config. не нужно чтобы кто-то знал пути и достпы к бд сайта или любых других подключений создаем файл любым удобным для вас образом я воспользуюсь консолю берем за основу gitignore из официального git репозитория opencart но с некоторой модификацией ссылку на файл осталю конце статьи Далее нам нужно добавть содержимое рабочей директории в индекс (staging area) для последующего коммита. git add . пишем команду чтобы все файлы добавить в индекс ну и сделаем наш первый комит git commit -m "Initial commit" Готово теперь у нас есть комит можем его залить на удаленный репозиторий git push -u origin master но при попытке запушить, возникает ошибка, а все потому что мы не настроили общение gitlab и нашего сервера по ssh ключам, сейчас мы это исправим Для начала нам нужно сгененрировать ssh ключ на сервере командой предварительно заменив email на свой ssh-keygen -t rsa -b 4096 -C "[email protected]" утилита предложит нам путь до файла оставляем по умолчанию, и ввести пароль для passphrase но он может быть пустым, его не обязательно заполнять. далее нам нужен публичный ключ его можно получить командой cat ~/.ssh/id_rsa.pub ну собственно куда ssh-keygen его и сгенерировал. Копируем наш ключ и идем в gitlab setting > ssh Добавляем наш ключик и делаем заново команду git push -u origin master и вуаля мы залили наш проект на сайт заметим что конфиги не попали в наш репозиторий. теперь мы имеем ветку master это ветку нажна только для продакшена в нее что либо комитить считается мовитоном, елси не идет стихийная разработка сайта. Давайте создадим dev ветку сайта в которой будут попадать все наши изменения для dev сервера. все ветка для разработки создана, теперь например у меня встала задача на сайте поманять фон на всем сайте и сменить подпись в футере сайта Для начала опишем эту задачу, идум в issue и создаем новое issue Назвать ишью лучше по порядку начиная с #1 #2 .... #90000 это удобно для самого gitlab чтобы закрыть ишью будет достаточно последний комит назвать "Close #issue" c числами же это проще всего. Итак ишью создано теперь я как разработчик клонирую репозиторий к себе не локальный пк командой git clone [email protected]:stick.qwe/opencart.git где ссылка на наш репозиторий произвожу настройку своей локальной среды разработки будь то openserver docker lamp xamp что угодно, для того чтобы развернуть сайт. Я буду использовать ide phpstorm вы же можете использовать любой редактор кода который вам нравится Для начала нам нужно переключиться на ветку dev далее нам нужно создать новую ветку с названием нашего issue отсавляем галочку на checkout branch в правом нижнем углу у нас нужная нам ветка сделанная из dev ветки начинаем выполнять нашу работу итак мы выполнили один пункт нашей задачи давайте закомитим его средствами phpStorm идем VCS -> git -> commit file Открывается окно в котором мы пишем название нашего коммита что мы сделали в этом изменении обычно я в начало добавляю так же название нашего ишью для систематизации мы видим в каких файлах были произведены изменения и что они верны жмем commit phpStorm говорит нам о warning в файле стилей не обращаем внимание, на это и жмем commit и продолжаем выполнять нашу следающую задачу задача выполнена, осталось только сделать последний commit идем туда же vsc->git->commit file называем его именно так тем самым помогаю gitlab самому за нас закрыть issue и нажимаем commit and Push мы видим наши коммиты и отправляем их на сервер и идем в gitlab и проставим галочки над выполненными задачами мы видим что содалась новая ветка нашего разработчика теперь нам нужно объеденить ветку #1 > dev а потом dev > master для этого нам нужно создать merge request Gitlab нам предлагает нашу ветку смержить из #1 в мастер но это не правильно, нам нужно смержить в dev нажимает в Change branches и меняем target branch на dev здесь в принципе ничего не меняем, ставим галочку на удаление исходной ветки и нажимаем sudmit merge request далее нажимаем merge так же не забываем закрывать наше issue кнопкой close issue теперь мы можем залить нашу dev ветку на дев сервер и оттестировать полностью, но так как сейчас у нас как бы ее нет, мы зальем наши правки сразу на продакшен сервер, но для начала создадим новый merge request теперь уже из dev > master делаем тоже самое с одним исключением это убираем галочку с удаления ветки merge request прошел успешно теперь у нас осталались 2 ветки с измененым кодом и нашими новыми коммитами далее мы идем на наш продакшен сервер переходим в папку с проектом и выполняем одну команду. git pull видим что наши файлы обновились проверяем в браузере вот видим наши изменения. Тоже самое и с дев сервером единственное перед pull необходимо сменить ветку на дев севрере git checkout dev и так же сделать git pull. Подытожим. Сегодня мы научились базовой работе с git и ведения проекта, это только базовые принципы работы с гит, его возможности куда больше, чем описно в статье, но не все сразу. как говорится ссылка gitlab репозиторий с .gitgnore https://gitlab.com/stick.qwe/opencart
  8. репозиторий может быть как публичным, так и приватным, в бесплатной версии тоже есть возможность приватного репозитория
  9. не думаю что причина в ServiceWorker скорее всего проблема в настроке сервера а имнно, слешь который ставится перед параметром ?sort
  10. В скором напишу подробный гайд по работе с гитом именно в рамках opencart. Да git бесплатен, ну в большинстве своем хватает бесплатного аккаунта
  11. Наоборот, не использование гита это и есть большой костыль, вам не нужно разворачивать несколько тестовых площадок, достаточно одной. и ей не обязательно быть точной копией со всеми картинками, и тянуть их в гит все эти картинки вообще ен нужно они добавляются в .gitignore, достаточно урезанной базы данных, кстати так безопаснее, у разработчика не будет полной информации о ваших заказах доступа к клинетам и реальной админской учетки, а тестовая бд. c минимально нужным наполнением. Разработчик же самостоятельно скачивает и на своем рабочем окружении, будь то openserver lamp xamp docker vagrant не важно разварачивает ваш сайт из dev ветки создает новую #1-task , работает над ним, и далее уже загружает ветку #1-task в вашем репозитории и межит ветку #1-task > dev, и на тестовый сервер или же вы сами на тестовом сервере делеате git pull смотрите изменения, если вам все устраиваете мержите ветки dev > master и удаляете ветку #1-task. Git отслеживает не файл в целом, а какбы каждую строчку по отдельности. У каждого разработчика есть своя задача, которую они решают в разных ветках разработчик один #1-task разработчик два #2-task два у них одинаковые экземляры веток dev, допустим оба разработчика правят один и тот же файл, все заливают обе ветки и вы по очередно, их сливаете, но на втором слиянии может возникунть конфликт, который git может и самостоятельно разрешить если видны явные изменения, или предложит вам решить его самостоятельно. Вообще это нужно пробовать.
  12. Не важно какие правки и где вы вносите, значительные они или нет, это прежде всего контроль, и всегда возможный откат к предыдущим изменениям, вы вносите правки, тестируете их на тестовом сервере, делате комит, благо соременные редакторы по типу phpStorm и vscode упрощают эту задачу, и вам не нужно видеть терминал парой, отправляете его на сервер в редакторе или в консоле командой git push в gitlab или github делаете мердж веток, и на боевом сервере одна команда git pull, так же можно настроить автодеплоер, тоесть вам даже на сревер заходить не придется, все изменения которые попадают в ветку мастер gitlab автоматически развернет на продакшен сервере ( может быть напишу статью по подобной настройке ), это все не дольше чем зайти на ftp найти нужный файл исправить сохранить и загрузить. А по поводу доработки, я бы задумался над компетенцией данного разработчика, который не умеет или не хочет освоить git хотя там осваивать нечего, и стоит ли ему доверять свой проект, который вам приносит деньги.
  13. тестировать нужно не на боевом сервере, а на тестовом, которым может выступать так же и ваш ПК c OpenServer, docker или любой другой близкой к боевой среде сервер, развернутый например не поддомене.
  14. За долгое время работы над сайтами над opencart не один клиент не пришел со своим магазином который имел бы систему контроля версий. Это же в разы упрощает работу, как для разработчиков так и для клиентов. Немного теории и для чего это нужно. Git это распрастроненная система котроля версий, которая позволяет хранить все слепки(снимки) кода. Тоесть это + и для клиента, он видит за что платит и в каких файлах были внесены изменения, и кто внес эти изменения, тоесть не будет уже такого, вот кто-то зашел на наш сервер и внес изменения и что то сломалось. Для разработчика это легкий способ развернуть исправить и залить на сервер. Снимая с себя ответсвенность за других разработчиков. Тоесть git позволяет навести порядок у себя в голове и в своем магазине, блоге, приложении не важно.Почему большинство разработчиков и владельцев магазинов не использует для меня пока загадка. Работать с гит очень просто и это в разы повысит эффективность вашей разработки. И внимание если вы хоть раз попробуете git вам уже больше не захочется возвращаться к ftp. Для начала просто заведите аккаунт на одном из бесплатных gitlab.com или github.com. Таким образом вы для себя создаете хранилище для кода. Данные сервисы позволяют просмотреть историю проекта, подключить новых разработчиков к своему проекту или исключить старых, тем самым вам больше не придется каждый раз менять доступы от вашего продакшен сервера где хостится сайт. Список коммитов будет выгледеть примерно так Далее кликаем по интересуещму вас комиту и видим какие файлы и строки были удалены, а какие добавлены изменени Так же git защищает от человеского фактора и серьезных ошибок, Если что-то попало в коммит или, тем более, на git-сервер, разработчику придется очень сильно постараться, чтобы это стереть. На самом деле, Git защищает даже не попавшие в коммиты данные, например, запрещая делать слияния при «грязном» состоянии репозитория (когда есть непроиндексированные изменения в рабочей области). Другими словами, это отличная защита от дурака, которая поможет вам случайно не потерять результаты работы. К тому же, когда что-то сделано неправильно, причем, сделано неправильно на «боевом» сервере, то, благодаря своей производительности, git позволит очень быстро откатиться на стабильную версию и без спешки разобраться с проблемой, перенеся ее на тестовый сервер. Предвижу в комметарих, что гит это для командной работы. Я так не считаю, но должен согласиться с тем, что система контоля версий изначально были созданы именно для командной работы. Если совсем просто, то с Git пропадает всякий бред типа в скайпе писать «не трогай style.css, сейчас я его правлю». Один и тот же файл могут редактировать разные разработчики одновременно, сперва делая его копию себе в локальный репозиторий (проще говоря, на компьютер), затем сливая свои изменения вместе. Как выгледит простекйший процесс разработки Напомню, мы сейчас рассматриваем ситуацию только со стороны заказчика. Так будет выглядеть работа при правильно настроенном Git. Попросить настроить Git вы можете своего разработчика 1) Вы ставите задачу разработчику. 2) Разработчик выполняет ее локально или вживую прямо на своем или вашем тестовом сервере. Вы проверяете результат на тестовом сервере, принимаете работу. 3) Разработчик создает коммит, соответствующий задаче и перемещает его на ваш репозиторий в git и делает слияние веток. 4) Вы заходите на свой сервер и подтягиваете результат с помощью простейших команд cd /path/to/you/site git pull И все на вашем сайте будут при менены изменение, и нет никаких задержек в обновлении, нет никаких выводом масива данных вар дампов и прочего которые могут выводить разработчики при работе с сайтом на 'на живую'. Как итог уважаемые разработчики, не стесняйтесь вносить иновации для ваших клинетов, они будут благодарны, когда вы уделите 20 минут и объесните клиенту для чего это и почему так удобно, и давайте сделаем разработку удобной и повысим качество кода во всех дополнениях.
  15. у меня есть опыт разработки маркетплейса и подключения и выгрузки разных прайсов, сделать круд, это вообще не проблема, разграничить права, это самое простое, сложности начинаются, когда поставщики будут иметь разные прайсы разные форматы и один будет все храть в exel а другой в xml а у третьего вообще своя api и он хочет грузить с нее, а у вас ничего нет для этого, вы можете ток руками добавлять новые позиции, вот и вся суть
  16. а ну раз аж 8000 то это другие, оргомные деньги
  17. команда разработчиков 5-10 человек тратит +- год на реализацию маркетплейса, ну чтобы это было похоже на ozon и прочие, а вы хотите купить модуль, за 500 рублей, и чтобы все было идеально и сразу для вас, чудес не бывает
  18. Реально, админка это простой круд, делайтее подобный с нужным функционалом, для курьера, и все
  19. @sosicreator вы для начала ответе на вопрос, что такого уникального вы делаете, что не делает панель? Или ваша мегауникальная настройка состоит в том что купить isp если хостер не предоставляет, и проставить 4-5 галочек, то увы и ах.
  20. @sitecreator вы не видите разница в ftp и sftp мне вас жаль.
  21. Зачем мне представляться перед каким-то ноунеймом? Вы кто? Сотрудник полиции или кто?
  22. эммм sftp это стандарт ssh и он работает без каких либо настроек в 99% процентах серверных дистрибьютивах, и устанавливать его не нужно, так как все прекрасно работает из коробки, только если вы хотите использовать только ключи для подключения, это нужно указать в конфигах и перезапустить демона. Ну впрочем понятно вашь предел запустить готовый баш на сервере, который установит панель, а в ней нажать 4 галочки, и взять за это десятку, можете подумать (как всегда), что это какая-то зависть конкуренция и т.д, но заметте я не продаю ни одного дополнения на форуме.
  23. @sitecreator может примите пари ато только и можете? Развернуть кластер на 5 нод, с nginx, mysql, postgres php7, elasticsearch и kibana, c автоподнятием нод при отвале, ну и поставить любой чистый php фреймвор или opencart в него, естественно все изолированно в докере, срок на выполнение 3 дня, думаю для админа, который может не только в панеле поставить и 4 галочки нажать, время на принятие пари 24 часа, если вы опять сольетесь сами уже знаете кто вы.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.