
енот
05.01.2017
14:53:49
для тех когда тебе надо быстро вносить правки
подразумевается выкатка текущего билда на тестовый сервер, где он покрывается тестами автоматически, если все тесты прошли, он уходит на боевой сервак
как-то так

sk8
05.01.2017
14:56:23

Google

Andrew
05.01.2017
14:56:24
Для каких случаев его юзают
самый большой профит в continious integration заключается в том что эффект "на моем компе все работает" минимизируется.

Fayozjon [CybernatiC]
05.01.2017
15:20:51
Спасибо большое
А тесты сами я пишу?
Потом при отправке автоматически запускаются тесты если ок то идет каммит в боевой сервер

sk8
05.01.2017
15:22:16

Fayozjon [CybernatiC]
05.01.2017
15:22:17
?

Andrew
05.01.2017
15:22:44
на самом деле профит от CI будет даже без тестов - можно запихнуть туда php-cs-fixer, php-md, компиляцию ассетов и еще что-нибудь
если говорить про симфу - линт ямла, твига, установку зависимостей

Aleh
05.01.2017
15:23:17
вот fixer наверное не надо
на CI только чеки делать

Andrew
05.01.2017
15:23:22
о_О
а чем чек кодстайла не чек?

Aleh
05.01.2017
15:23:36
а он чекать умеет?))

Google

Aleh
05.01.2017
15:23:38
я думал только правит

Andrew
05.01.2017
15:23:54
--dry-run
на куче проектов юзаю, сразу кодревью аля "одинарная кавычка вместо двойной" отпадают

Aleh
05.01.2017
15:25:01
норм

$iD
05.01.2017
15:30:58
используем с dry-run и diff
отлично работает
сразу показывает при билде, где ошибки

Fayozjon [CybernatiC]
05.01.2017
15:40:16
Юзать кодингстайл значит
Окай

Andrew
05.01.2017
15:41:51
ну а дальше зависит от того, что умеет команда
умеете тесты - пишете тесты

Fayozjon [CybernatiC]
05.01.2017
15:42:29
Я одинокий самурай без команды)

Andrew
05.01.2017
15:42:47
тогда по любому юзай ci/cd :)

Aleh
05.01.2017
15:43:01
https://symfony-devs.slack.com/archives/support/p1483627899001281

Fayozjon [CybernatiC]
05.01.2017
15:43:19
Спасибо большое
Холи щит)

Andrew
05.01.2017
15:45:36
когда ты работал в ветке, потом сделал зеленый билд, смержил, оно автоматически задеплоилось и тебе стукнуло сообщение в слэк - ощущения крутые
клиенты этого не видят, но чувствуют, что пайплайн выстроен

Yaroslav
05.01.2017
17:04:53
Я хотел бы заметить что CI это именно continues integration. Ни какой поставки кода в прод тут нету
Только интеграция изменений в продукт

Google

Yaroslav
05.01.2017
17:07:29
Когда оно вжух и в продакшен это континиус деливери

Sergey
05.01.2017
20:07:54
> Когда оно вжух и в продакшен это континиус деливери
справедливости ради тогда стоит заметить, что речь тогда идет о подходах а не о инструментах. Любой CI-сервер с поддержкой пайплайнов вполне себе годится и для CI и для CD

Aleh
05.01.2017
20:15:45
пайплайны)
самый простой это в баше set -e

Sergey
05.01.2017
20:16:56
не ну это да)
хотя мне больше нравится -ex что бы знать что там происходит

Aleh
05.01.2017
20:21:46
ну да

Yaroslav
05.01.2017
20:26:34

Sergey
05.01.2017
21:28:11
к вопросу о php и долгоживущих скриптах
пришлось запилить декоратор над entity manager-ом который бы пересоздавал оный в случае фэйла...
(

Aleh
05.01.2017
21:34:16
Ага)

Vladimir
05.01.2017
22:18:11

Sergey
05.01.2017
22:18:31

Aleh
05.01.2017
22:18:50
Ну это закрывающийся entity manager

Vladimir
05.01.2017
22:19:00
Не проблему я понимаю

Sergey
05.01.2017
22:19:05
не совсем... это закрывающее-ся соединение и в целом это окъ

Aleh
05.01.2017
22:19:05
Вообще его под каждый запрос в идеале надо создавать заново

Vladimir
05.01.2017
22:19:23
Просто это не проблема PHP =)

Sergey
05.01.2017
22:19:24

Google

Aleh
05.01.2017
22:19:54
Ибо фигли он закрывается

Sergey
05.01.2017
22:20:37
буду завтра уже ковыряться... вдруг реально можно фабрику выковырять
тогда все ништяк

Vladimir
05.01.2017
22:21:19
К слову там всё довольно просто можно подменить
Хотя в разреде doctrine bundle не уверен

Sergey
05.01.2017
22:21:49

Admin
ERROR: S client not available

Vladimir
05.01.2017
22:22:13

Sergey
05.01.2017
22:22:27
> К слову там всё довольно просто можно подменить
да это не проблема... проблема в том что entity manager регистрируется как сервис, и в рантайме "подменить" его не выйдет..
и если он у тебя закрылся - он у тебя закрылся
и ничего ты с этим не сделаешь

Vladimir
05.01.2017
22:22:59
Ну так он закрываеться из за ошибки

Sergey
05.01.2017
22:22:59
без тонны переписывания.... вот если доберусь до фабрики тогда все будет ок, но что-то мне подсказывает что "фабрика" там на уровне компайл пасов...

Vladimir
05.01.2017
22:23:35
По идее тебе нужно подменить только работу с коннектами

Sergey
05.01.2017
22:23:37
проблема что я не могу просто взять и организовать это без перелопачивания кучи всего
чисто для коннектов - там есть возможность класс-враппер задать

Google

Sergey
05.01.2017
22:24:12
ну то есть есть кастылики удобные есть

Vladimir
05.01.2017
22:24:28
Ну так тебе и надо просто коннект свой
Который будет следить за жизьню
Что бы база "не бегала" =)

Sergey
05.01.2017
22:25:13
дай поныть
)

Vladimir
05.01.2017
22:25:28
Да уже 700 сообщений ноете =)
Я прочитал их, и не понял всех поинтов =)

Sergey
05.01.2017
23:10:45
тут никто не хочет поболтать на тему "фигачим в контроллерах"?
похоливарить за CQRS и ADR

Jan
06.01.2017
00:09:49
Было бы интересно почитать тут, в чатике, о реализации подобных вещей из первых уст, так сказать ☺️
Кто как считает, у контроллеров вообще какие обязанности? Чисто как передатчик от data source к view? Или использовать внутри экшнов сервисы типа мапперов из одного представления объектов в другое это нормально?

Sergey
06.01.2017
00:32:51
вот мои упоротые мысли на этот счет
если конкретно по твоему вопросу - контроллеры это UI layer в контексте бэкэнда
"адаптер" поверх приложения
их задача - конвертить представление данных из формата, требуемого клиенту приложения (мобилки, браузер, человеки) в формат приложения и обратно.
ну или мы будем разделять их зону ответственности как предлагается в ADR
что мол если GRASP контроллеры старые добрые + некие респондеры

Jan
06.01.2017
00:37:29
Более легкий обвес — это то ядро, о котором некогда говорили.

Sergey
06.01.2017
00:38:37
хз, для меня HttpKernel это легкий обвес