@prophp7

Страница 169 из 1387
енот
05.01.2017
14:53:49
для тех когда тебе надо быстро вносить правки

подразумевается выкатка текущего билда на тестовый сервер, где он покрывается тестами автоматически, если все тесты прошли, он уходит на боевой сервак

как-то так

sk8
05.01.2017
14:56:23
для тех когда тебе надо быстро вносить правки
скорее не "быстро", а "часто" ci - это автоматизация процесса релиза

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
А тесты сами я пишу?
можно настроить CI вообще без тестов

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
ну да

Sergey
05.01.2017
21:28:11
к вопросу о php и долгоживущих скриптах

пришлось запилить декоратор над entity manager-ом который бы пересоздавал оный в случае фэйла...

(

Aleh
05.01.2017
21:34:16
Ага)

Sergey
05.01.2017
22:18:31
А при чём тут PHP?
на днях просто обсуждали...

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
Вообще его под каждый запрос в идеале надо создавать заново
нууу... сам em не обязательно, только UoW чистить

Google
Aleh
05.01.2017
22:19:54
нууу... сам em не обязательно, только UoW чистить
Ну он писал с расчетом на один единственный реквест, все же)

Ибо фигли он закрывается

Sergey
05.01.2017
22:20:37
Ну он писал с расчетом на один единственный реквест, все же)
ну и опять же тогда выходит что DoctrineBundle не предоставляет возможности "пересоздать" зависимость, нет доступа к фабрике (а может и есть....)

буду завтра уже ковыряться... вдруг реально можно фабрику выковырять

тогда все ништяк

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

Хотя в разреде doctrine bundle не уверен

Sergey
05.01.2017
22:21:49
Ну это же просто конкретная реализация
окей окей, ну тогда сведу задачу к "пока в php нельзя будет дебагер для запущеного процесса прицепить не ок"

Admin
ERROR: S client not available

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
их задача - конвертить представление данных из формата, требуемого клиенту приложения (мобилки, браузер, человеки) в формат приложения и обратно.
Кажется дошло. Просто раньше я как-то не задумывался на этот счёт. Фигачил SomethingRepositoryInterface в метод контроллера и отдавал коллекцию или json там. Сейчас, имея дело с более лёгким обвесом, начал задумываться больше об архитектуре и реализации некоторых штук, которых не хватает, врукопашную.

Более легкий обвес — это то ядро, о котором некогда говорили.

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

Страница 169 из 1387