
Hokusai
25.09.2018
15:28:15
Ребзи, кто деплоил микросервисы на амазон?

Roman
25.09.2018
15:28:41

Zver
25.09.2018
15:28:50

Alexander
25.09.2018
15:29:07

Google

Daniel
25.09.2018
15:29:12
вообще, любая система сборки будет для go чужая и вредная

Aleksandr
25.09.2018
15:29:22

Daniel
25.09.2018
15:29:57
потому как код должен быть готов к использованию сразу после git clone, который делает go get

Kirill
25.09.2018
15:29:59

Pavel
25.09.2018
15:30:45

Alexander
25.09.2018
15:30:49

Alexander
25.09.2018
15:31:13

Daniel
25.09.2018
15:31:14
родина нам дала dockerfile

Kirill
25.09.2018
15:31:31

Daniel
25.09.2018
15:31:34
но даже и докерфайл тоже так себе решение

Alexander
25.09.2018
15:31:36
а я не фанат. я люблю рыбалку :)

Daniel
25.09.2018
15:32:12
короче - да, руками, пока не завезут штатную систему сборки

Google

Daniel
25.09.2018
15:32:28
make тот же у меня обычно отсутствует на машине

Zver
25.09.2018
15:32:29

Alexander
25.09.2018
15:32:45
ну, make все же хорошо умеет делать то, что он делает...

Hokusai
25.09.2018
15:32:59
Ребзи, кто деплоил микросервисы на амазон?
У меня задача задеплоить приложение, у него есть воркеры к которым он обращается по хттп и получает результат, каждый воркер это докер контейнер. Я не врублюсь как сделать так чтобы приложение знало о том какие сервисы сейчас запущены и куда за ними обращаться, потом еще нужен load balancing, и т.д. и т.п.

Daniel
25.09.2018
15:33:20
make - лютое говно, и Makefile еще хуже

Alexander
25.09.2018
15:33:39
чем make не штатная система сборки чего не попадя в *NIX?

Daniel
25.09.2018
15:33:42
но, главное - кто его запустит после go get?

Pavel
25.09.2018
15:33:45
Make — огонь. А если у кого его нет — можно собирать в докере, где он есть.

Andrew
25.09.2018
15:34:02
https://magefile.org/ недавно пробегал

Hokusai
25.09.2018
15:34:29
Понятно что нужен какой-то service discovery, но хз как оно вяжется с автоматическими системами типа terraform или k8s, и как всю эту архитектуру описать в одном конфиге

Pavel
25.09.2018
15:35:55

Hokusai
25.09.2018
15:36:31
К8с сложным показался :(

Alexander
25.09.2018
15:37:03

Daniel
25.09.2018
15:37:04
это как?
как обычно, через CGO. я бы рекомендовал воздерживаться до последней возможности

Alexander
25.09.2018
15:38:02

Pavel
25.09.2018
15:38:41

Alexander
25.09.2018
15:39:37
go run обычно стартует в 10 раз дольше, чем сама программа работает в итоге :)
а то и в 100 раз

Google

Aleksandr
25.09.2018
15:41:36

Alexander
25.09.2018
15:42:21
ну... тогда можно раз в полгода и go run сказать - да :)
а я бы, подумав, все равно не стал. демонизированные - это через systemd? А оно надо этих лишних чилдренов? Проще уж собрать и пускать процесс работать.

Aleksandr
25.09.2018
15:47:01

Alexander
25.09.2018
15:47:34

Roman
25.09.2018
15:52:34

Daniel
25.09.2018
15:54:07

Alexander
25.09.2018
15:57:19
и make!
:)

Roman
25.09.2018
15:57:24

Bohdan
25.09.2018
15:59:00

Daniel
25.09.2018
15:59:17
по-хорошему - это надо пушить в репу

Bohdan
25.09.2018
15:59:46
во избежание "забыл"
хотя...
it depends
впрочем, как всегда

Roman
25.09.2018
16:01:04
ну нахер...

Bohdan
25.09.2018
16:01:32
нет, чтобы он имел свежий результат кодгена
кстати, ещё один вариант теста - git status после генерации на ci

Google

Алексей
25.09.2018
16:02:16
Ну это такое себе
потому что ci - это всё таки немного из другой оперы
потому что можно без всякого ci разрабатывать, и тогда придётся самому следить за кодогенерацией

Alexander
25.09.2018
16:03:29
ci - это команда из RCS? ;)

Roman
25.09.2018
16:03:42
нет, чтобы он имел свежий результат кодгена
проблема в том, что на CI то он может сгенерить себе код и скомпилить и показать зелёный знак...
а пользователь может `go get`нуть пакет и забыть прокрутить кодоген повторяемости билда ради...
а девелопер мог забыть прокрутить кодоген до пуша...
так и получится что CI говорит всё окей а у тебя либо не билдится либо в самом худшем случае билдится с багами

Bohdan
25.09.2018
16:04:06

Roman
25.09.2018
16:04:27
"изменил DSL - прогенерь код!"
забыл прогенерить код перед пушем? сломал софт...

?
25.09.2018
16:04:52

Bohdan
25.09.2018
16:04:57
если после генерации что - то изменилось (забыл сгенерить вручную) - билд упал

Admin
ERROR: S client not available

Алексей
25.09.2018
16:04:59

Bohdan
25.09.2018
16:05:30

Daniel
25.09.2018
16:05:39
коллеги, хватит, пожалуйста
это не дискуссионный вопрос

Alexander
25.09.2018
16:06:00

Алексей
25.09.2018
16:06:01

Daniel
25.09.2018
16:06:11
результат кодогенерации должен быть запушен в репу
точка

Roman
25.09.2018
16:06:34
чеклисты помогут?
найн, найн, найн, найн, найн
лучше всего генерить код ДО каждого билда, а ради ускорения использовать некий механизм кеширования, чтоб генератор сам распознавал что нынешний сгенеренный код уже соответствует DSL (чемсуммы или ещё как там...)

Google

Bohdan
25.09.2018
16:06:39

Алексей
25.09.2018
16:06:55
то есть ci тут уже не поможет точно, не будет же ci запускать кодогенерацию и пушить сгенерированный код

?
25.09.2018
16:07:07

Roman
25.09.2018
16:07:14

Daniel
25.09.2018
16:08:40
и вот именно поэтому - результат кодогенерации должен быть запушен в репу, и использоваться из нее

Roman
25.09.2018
16:08:58
why
уже описал выше, главная причина: нет гарантированной синхронизации DSL и генерированного запушенного кода

Daniel
25.09.2018
16:09:04
чтобы не искать виноватого по всей цепочке

Алексей
25.09.2018
16:09:14
Вообще эта штука может выполняться автоматически при компиляции (с кешированием конечно же). Но не выполняется. Вот суть претензий. То есть фактически на программиста возложена та задача, которая явно не должна быть на него возложена.

Александр
25.09.2018
16:09:21
вот "локальный" вентор тоже кто-то говорил что надо коммитить в репу
но такое

Daniel
25.09.2018
16:09:22
нет гарантированной синхронизации - это не проблема
я говорил, и повторю

Roman
25.09.2018
16:10:38
кодогенерация кодогенерации рознь

Daniel
25.09.2018
16:12:20
самое плохое в генериках то, что их притягивают за уши туда, где им совсем не место
еще раз - это не дискуссионный вопрос
у себя делайте, как хотите

Alexander
25.09.2018
16:12:52

Алексей
25.09.2018
16:12:53

Daniel
25.09.2018
16:13:15
если отдаете наружу - помните, что все, что пользователь сделает, это go get

Roman
25.09.2018
16:13:58