
Vlad
05.12.2016
14:10:18
кажись половина лечь должна

Folt
05.12.2016
14:10:51
от чего?)

Vlad
05.12.2016
14:11:11
от бесцеремонности разработчиков
Они же все перекапывают, с версии на версию

Google

Folt
05.12.2016
14:11:39
как не странно - упала ток корзина и появились тормаза

Бернгардт
05.12.2016
14:11:56
программисты-пессимисты утверджают что после апа на 16 ядро - половина отвалится
с ними спорят программисты-оптимисты, с утверждением - не правда, половина точно будет работать )

Folt
05.12.2016
14:11:59
точнее купоны по новому применяются

Vlad
05.12.2016
14:12:07
Наверное не очень кастомизированный проект был?
Оформление заказа норм осталось?

Folt
05.12.2016
14:13:26

Vite4eg
05.12.2016
14:15:45
Можно использовать GitLab на сервере сборки? Или для этого что-то другое надо?

Alexandr
05.12.2016
14:16:54
добрый день
если в sale order ajax местоположение отображается через PrintPropsForm , как правильно сделать город по умолчанию

Andrew
05.12.2016
14:23:26
В свойстве указать значение по-умолчанию

Alexandr
05.12.2016
14:26:55
Просто на нескольких поддоменах разные сайты для разных городов, и сейчас например на каком нибудь поддомене выбрать любой город из выпадающего списка, оформление заказа встает в тупик и ничего не происходит спинерр крутится либо страница кривится шапка дублируется и город в итоге не выбран

Анатолий
05.12.2016
14:28:38

Google

Alexandr
05.12.2016
14:31:40
в логах ничего нет

Vlad
05.12.2016
14:32:05
а в консоле браузера?

Alexandr
05.12.2016
14:32:31
тоже без ошибок
Получается срабатывает функция BX.ajax.submit(orderForm, ajaxResult);
но ajaxResult уже не срабатывает

Vite4eg
05.12.2016
14:37:47
Кто-нибудь внедрял Continuous integration?

Анатолий
05.12.2016
14:39:29

Vite4eg
05.12.2016
14:40:08
Про авто-деплой. Хочу внедрить, но не до конца понимаю
Получается, у нас есть машина с GitLab, куда сливают коммиты. Дальше это уходит на сервер сборки, где происходит тестирование, анализ кода, сборка js и всякое такое. А потом это все готовое должно улететь на бой, так?

Владимир Калинин
05.12.2016
14:42:31
если ты про битрикс то собирать особо нечего) как и тестить))

Vite4eg
05.12.2016
14:42:43
А js? Тот же реакт например
Или проверка code style. Code Sniffer, линтеры

Бернгардт
05.12.2016
14:44:12
гитлаб, автосборка..
при части логики в бд и сложностях в переброске схемы? хмхм..

Vite4eg
05.12.2016
14:45:09
Ну а как быть например с тем же webpack? Или gulp? Особенно когда несколько разработчиков? Каждый у себя собирает? А при мержах потом проблем не огребем?

Владимир Калинин
05.12.2016
14:45:47
у меня на галпе сборка верстки скриптов, линты и проверка файлов битрикс на типовые ошибки, типа запросов из шаблона и т д. Все это прямо на том же серваке где и гитлаб прогоняется. Но сборкой особо не назовешь. Потому что деплой происходит пуллом с гита а не заливкой только собранного.
вообще в случае битрикса копию собранных стилей и скриптов в гит сую

Vite4eg
05.12.2016
14:46:23
А на бой? Ручками?

Владимир Калинин
05.12.2016
14:46:31
нет на бою просто php скрипт

Vite4eg
05.12.2016
14:46:34
И на бою тоже ручками?

Бернгардт
05.12.2016
14:46:38
если несколько человек меняют схему бд - огребете
а если речь о код.стайл и типичные ошибки - то средств системы контроля, ну или гитлаба поверх - достаточно

Google

Анатолий
05.12.2016
14:46:40
на бою автоматически

Владимир Калинин
05.12.2016
14:46:44
который получает запрос от гитлаба и делает гит пулл

Vite4eg
05.12.2016
14:46:48
Типа хук на гит?

Владимир Калинин
05.12.2016
14:46:54
ну да

Анатолий
05.12.2016
14:47:01
можно хук, можно крон

Бернгардт
05.12.2016
14:47:15
хм

Анатолий
05.12.2016
14:47:21
только учти опять же про изменения БД..

Владимир Калинин
05.12.2016
14:47:30
типа такого
<?php
//ветки по доменам для автодеплоя
$host2branch = array(
'default'=>'refs/heads/master',
'example.com'=>'refs/heads/master',
'dev.example.com' => 'refs/heads/dev'
);
$_branch = $host2branch[$_SERVER['SERVER_NAME']]?$host2branch[$_SERVER['SERVER_NAME']]:$host2branch[$_SERVER['HTTP_HOST']];
$_branch = $_branch?$_branch:$host2branch['default'];
if (strlen($_branch)>0) {
$work_dir = dirname(__FILE__).'/..';
$git_dir = $work_dir.'/.git';
//var_dump($work_dir);
//var_dump($git_dir);
$json = file_get_contents('php://input');
file_put_contents('./_gitlab-sync.json', $json); // DEBUG
$js_arr = json_decode($json, true);
$branch = $js_arr['ref'];
if ($branch == $_branch) {
$cmd = "git --work-tree=$work_dir --git-dir=$git_dir pull";
$res = exec($cmd);
file_put_contents('./_git.txt', $res);
}
}

Vite4eg
05.12.2016
14:47:34
Ну да, про бд я помню

Бернгардт
05.12.2016
14:47:36
а можно автосборка на препродакт по хуку
а пулл на бой таки ручками..

Vite4eg
05.12.2016
14:47:57
А нельзя изменения в бд как sql скрипт залить?

Владимир Калинин
05.12.2016
14:48:02
бд довольно хорошо отлеживается бимом

Бернгардт
05.12.2016
14:48:02
к тому же там могут интересные люди какие-нибудь побыстрому донастроить, залить контент

Vite4eg
05.12.2016
14:48:06
И типа чтоб он автоматом выполнялся

Владимир Калинин
05.12.2016
14:48:21
он именно битриксовые миграции делает

Бернгардт
05.12.2016
14:49:05
бд то отслеживается.. хоть mysqldump c построчным
только что с этой инфой делать, вот в чем вопрос
ладно, холиварная тема

Владимир Калинин
05.12.2016
14:49:43
https://packagist.org/packages/cjp2600/bim-core
вот этой штукой довольно не плохо переносятся инфоблоки

Vite4eg
05.12.2016
14:50:11
Получается, всякие js сборки можно на гитлабе автоматизировать, а дальше в гит добавлять?

Владимир Калинин
05.12.2016
14:50:42
типовыми способами бд мигрировать с архитектурой битрикса довольно сложно. Так как добавленное свойство например это не изменение схемы а запись в таблице

Google

Владимир Калинин
05.12.2016
14:51:09

Vite4eg
05.12.2016
14:51:18

Владимир Калинин
05.12.2016
14:52:18
ну нету смысла собирать на серваке фронт, если ты всеравно на локалке его собираешь что бы проверить

Vite4eg
05.12.2016
14:52:30
А если несколько человек?

Владимир Калинин
05.12.2016
14:52:36
либо есть, но тогда и деплой делать с сервака же

Vite4eg
05.12.2016
14:52:46
Каждый соберет свой, а потом мержить замучаешься

Анатолий
05.12.2016
14:52:49
И типа чтоб он автоматом выполнялся
очень сложно с БД. легче вести в таск менеджере все записи, какие изменения в БД нужно делать. и когда делаете релиз - добавлять эти операции на сервер

Владимир Калинин
05.12.2016
14:52:50
не комитить обратно собранное а деплоить только в случае сборки

Vite4eg
05.12.2016
14:54:00

Владимир Калинин
05.12.2016
14:54:51
у нас одновременно народ не трогает одно и тоже. Но если трогает в случае мерджа возникает конфликт по минифицированным файлам. Тот кто его запалил смерджив еще раз все собирает

Admin
ERROR: S client not available

Vite4eg
05.12.2016
14:55:35
Если использовать вебпак для сборки единого бандла всего js, то от конфликтов никуда не деться

Evg
05.12.2016
14:56:03

Бернгардт
05.12.2016
14:57:22
судя по доке - очень узкий инструмент, половины проблем не перекроет похоже
хотя может кому то действительно хоть чтото упростит..

Владимир Калинин
05.12.2016
15:02:15
Он использует dbconn что бы опредилить базу и создает там таблицу куда сохраняет миграции.

Evg
05.12.2016
15:03:04
а с чем может работать? Инфоблоки? веб формы? почтовые шаблоны?

Владимир Калинин
05.12.2016
15:03:20
инфоблоки, юзеры и еще многое, но не все.
можно как бы экспорт инфоблоков сделать

Google

Владимир Калинин
05.12.2016
15:03:44
указываешь ей айди инфоблока она создает миграцию
но надо понимать что мигрируют схемы а не данные
возможно данные тоже можно но я не пробывал. Использую как раз что бы не смешивать тестовый контент на деве и реальный на продакшине
так вот после того как прод забирает последние изменения в папке миграций появляется новая, созданная на деве. А в базе ее на продакшине естесвенно нету. Так прога и понимает что это еще не накачено и дает накатить

Evg
05.12.2016
15:07:00
ясно, спасибо за пояснение!

Alexandr
05.12.2016
15:07:59
в логах кстати отловил Cannot set property 'control' of undefined , после того как город выбираешь
Но например если обновить страницу , то второй раз все будет успешно
город выберется

Виталий
05.12.2016
16:33:12
кому доводилось перепривязать заказы к другому пользователю?
к примеру оформляем заказы под гостем, регистрируется левый акк.
когда-то человек хочет зарегистрироваться и привязываем заказы с другого аккаунта (левого) на его.
к примеру связь будет через номер телефона.

Tema
05.12.2016
16:46:17
Новые заказы привязываешь к одному юзеру, время от времени чекаешь их на совпадение по телефону с новыми аккаунтами

Алексей
05.12.2016
17:21:28
Коллеги, подскажите, куда капать, нужно принять платеж, взять процент, и превести деньги другом клиенту. Есть идеи?

Folt
05.12.2016
17:27:45

Алексей
05.12.2016
17:28:04
битрикс

Folt
05.12.2016
17:28:26
внутрение счета используюся?

Алексей
05.12.2016
17:28:51
ммм нет

Folt
05.12.2016
17:28:57
и редакция какая?

Алексей
05.12.2016
17:29:32
не бизнесс
стандарт

Folt
05.12.2016
17:34:54
ну на стандарте вроде нет внутрених счетов нет, он есть в моделе sale (от малого бизнеса редакция)
я бы делал загон денег через товар, потом ядром можно было бы перегнать деньги на его внутрений счет, где он мог их тратить или переводить кому то другому (можно все через апи делать)
а так только через хайлоды) сделать на них аналогию внутрених счетов и сделать может управляющий класс для этого дела

Алексей
05.12.2016
17:36:31
Норм, а сервисы для приема денег и выводы?

Folt
05.12.2016
17:39:38
при малом бизнесе можно было бы использовать стандартные обработчики оплат (робокасса/ яд/ вм и тд)
а так ток ручками делать свои обработчкичи (почти у всех понятная документация)
ну и вывод по событих в админке (ручное отправление денег на вывод) или в крон
управления кошельком можно автоматизировать через апи
https://tech.yandex.ru/money/payment-solution/
как пример
Что позволяет протокол
Переводить деньги всем получателям сразу (makeDeposition):
на кошельки в Яндекс.Деньгах;
банковские карты;
банковские счета;
номера мобильных телефонов.