These are chat archives for dru-io/Drupal

12th
Jun 2016
Alexandr.Poddubsky
@AlexandrPoddubsky
Jun 12 2016 02:54 UTC
всем утреца
Alan Bondarchuk
@fortis
Jun 12 2016 11:24 UTC
@Gormartsen поведай) интересует деплой полей, вьюх, типов контента и сущностей
Grayw0lf
@Grayw0lf
Jun 12 2016 11:31 UTC
@fortis есть у него скрипт только я еще не пробовал https://github.com/itpatrol/drupal_deploy/tree/7.x
Импорт экспорт нод со всеми полями я еще не сделал для д7. Но там портировать не особо сложно
но если оно тебе нафик не надо , типа сам с усами. Нафик я время трачу?
Alan Bondarchuk
@fortis
Jun 12 2016 12:53 UTC
@Gormartsen нет не сарказм, это мне нужно в проекте
прозвучало так наверно) но это основная проблема, и с фичами она хотя бы как-то решается
@Gormartsen а какой модуль делает экспорт у тебя?
@Gormartsen или этим занимается gitlc?
а увидел drupal_deploy
Gor Martsen
@Gormartsen
Jun 12 2016 12:58 UTC
А извини тогда
для д7 там пока точно работает меню таксономия типы материала с полями
контент сам еще не тестил вроде
не дошли руки
на д6 как раз контент экспорт импорт работает на патрулевский сайи
Gitlc(ZenCI теперьна zen.ci) это Аля Jenkins
Он лишь доставку кода, вызов хуков или скриптов и логи делает
Alan Bondarchuk
@fortis
Jun 12 2016 13:01 UTC
ага понял
Gor Martsen
@Gormartsen
Jun 12 2016 13:02 UTC
Я drupal_deploy написал из-за того что фичи не подходят мне и хотел что б все с консоли делать легко можно было
Он всё же еще не стейбл. Обкатывать надо по полной. Малоли где баги
Еще момент с контентом связанный - я решил не юзать uuid
Причина в том, что с таким подходом - надо или материал только через github гнать или не гнать его туда совсем
Alan Bondarchuk
@fortis
Jun 12 2016 13:04 UTC
ну контент в репо держать не удобно
его могут менять на продакшене
а менять его через программиста это не вариант обычно
Gor Martsen
@Gormartsen
Jun 12 2016 13:06 UTC
Ага. А вот структурное Аля поля - самое то
Ну таксономию можно
Alan Bondarchuk
@fortis
Jun 12 2016 13:06 UTC
тоже самое с кастомными блоками, и с блоками есть еще такой момент, они часто расходятся в id с продакшеном и там нужно машинное имя, у фич с этим туго
Gor Martsen
@Gormartsen
Jun 12 2016 13:06 UTC
ага.
С блоками я вроде ориентируюсь по имени
Alan Bondarchuk
@fortis
Jun 12 2016 13:07 UTC
у блоков от модулей есть дельта и она как машинное имя, а у кастомных дельта это просто числовое значение
ну примерно понятно, много работы с экспортом интересно
а в бекдропе это заложено в ядре такой экспорт да?
Gor Martsen
@Gormartsen
Jun 12 2016 13:08 UTC
Нет
В бекдропе этого нет. Но у меня планы его портировать и попробовать в основы ядра засунуть
Хз или получится по времени
В бекдропе настройки модулей Аля variables в конфигах
при портировании как раз все variables get variables set надо заменить на conf() оперирование
отдельный Json для каждого модуля
в files/conf*/active|stage
И я щяс не помню или поля в json
Что то такое вспоминаю но :(
вообщем мысли и идеи как кучу всего через импорт экспорт сделать. Но пока руки не доходят
@fortis но соль у меня щяс в том, что я деплой на продакшн делаю не руками
Gor Martsen
@Gormartsen
Jun 12 2016 13:14 UTC
схема позволяет по обкатывать на stage и когда все четко - одним merge в продакшн. Без паники и косяков от усталости. Борту пофиг:)
Alan Bondarchuk
@fortis
Jun 12 2016 17:20 UTC
@Gormartsen а доставляет как, перекидывая линк? откат есть если что ?
Gor Martsen
@Gormartsen
Jun 12 2016 17:51 UTC
@fortis не, доставка через git pull
тоесть обновляется у тебя код на stage, production
так как откат завязан на изменение структуры - допустим в blog.node.export изменения, то если ты сделаешь новый PR на основе отката изменений и добавишь скрипт реипорта типа ноды, то откат пройдет через изменения файлов + реипорт
тоесть откат - это новый PR (который опять же лучше на stage протестировать)
Alan Bondarchuk
@fortis
Jun 12 2016 18:24 UTC
всякое бывает)
git pull медленный для большого апдейта даунтайм будет
ну и откат наверно должен быть не в виде PR, миграция же может не отработать по всяким причинам и отката не выйдет, кажется переброс линка и базы надежнее для продакшена
Andy Postnikov
@andypost
Jun 12 2016 18:28 UTC
Тут скорее не в гите дело, а в апе бызы
Alan Bondarchuk
@fortis
Jun 12 2016 18:28 UTC
да там подольше операция
Andy Postnikov
@andypost
Jun 12 2016 18:30 UTC
Я вот вообще не представляю, как стандартное ядро без даунтайма обновлять
Alan Bondarchuk
@fortis
Jun 12 2016 18:32 UTC
наверно что-то вроде перевода текущей базы в ридонли, а для нового линка - релиза - подключать копию базы и там апгрейдить и в случае успеха переключать симлинк
cap deploy:symlink:release # Symlink release to current
And if some troubles occur, juste launch the rollback command to return to the previous release.

$ cap deploy:rollback
рыба моей мечты)))
Gor Martsen
@Gormartsen
Jun 12 2016 18:44 UTC
@fortis впринципе логично
что перед деплоем стоит сделать что то типа snapshot
и на него откатится если какие то проблемы
впринципе это не сложно
Alan Bondarchuk
@fortis
Jun 12 2016 18:53 UTC
по идее этот снапшот и есть stagging
Gor Martsen
@Gormartsen
Jun 12 2016 18:53 UTC
и да и нет
да в том плане - что stage должен быть копией production но не обязательно актуальной
Alan Bondarchuk
@fortis
Jun 12 2016 18:54 UTC
угу
Gor Martsen
@Gormartsen
Jun 12 2016 18:55 UTC
и что stage не должен обязательно снапшотится с production в момент обновления последнего
кстати Capistrano класная штука
я вообще был в милом восторге когда деплоем на ror занялся