LINUX.ORG.RU

Деплой Erlang-приложений

 ,


0

2

Привет, ЛОР.

Расскажи мне, как ты деплоишь свой код на энларге? В данный момент наше приложение просто заворачивается в пачку RPM и таким образом закидывается в продакшен, но мне этот подход кажется немного гомосексуальным, потому что завязывает нас на CentOS и старые версии всего. Админы напирают на Docker, но я слегка сомневаюсь.

Как это делать наиболее правильно? Спасибо.

★★★★★

Последнее исправление: hateyoufeel (всего исправлений: 2)

упаковка в стандартные пакеты пакетного менеджера выбранного дистрибутива GNU/Linux - единственно верный гетеросексуальный белый цисгендерный путь.

Harald ★★★★★
()

У эрланга свои релизы есть, докер тоже норм в зависимости от инфраструктуры, у нас все на докере - и даже тесты в женкинсе.

anonymous
()
Ответ на: комментарий от Harald

упаковка в стандартные пакеты пакетного менеджера выбранного дистрибутива GNU/Linux - единственно верный гетеросексуальный белый цисгендерный путь

Да вообще ни разу. Вот релизнется CentOS 8, опять сломают макросы в RPM, и что тогда? Опять две версии спеки держать и костыли делать? Нет уж, лесом-лесом.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

ну или объявить в таком случае centos 7 деприкейтнутным и настоятельно рекомендовать клиентам обновиться до 8

Harald ★★★★★
()
Ответ на: комментарий от anonymous

У эрланга свои релизы есть

Есть, но там с версиями слегка проблема. Безболезненно откатиться нельзя, если я правильно помню.

докер тоже норм в зависимости от инфраструктуры, у нас все на докере - и даже тесты в женкинсе.

Вот я тоже к этому склоняюсь: собирать в CI образ и через Ansible обновлять его. Но вдруг есть настоящий путь джедая?

hateyoufeel ★★★★★
() автор топика

Админы напирают на Docker, но я слегка сомневаюсь.

Это единственный правильный способ деплоя программ сейчас.

commagray ★★★★★
()

Я пакую в deb пакеты, например.

ymn ★★★★★
()
Ответ на: комментарий от hateyoufeel

упаковка в стандартные пакеты пакетного менеджера выбранного дистрибутива GNU/Linux - единственно верный гетеросексуальный белый цисгендерный путь.

плюсую.

лишний геморрой, от которого я хочу избавиться.

имхо получишь ещё больше, но в другом месте.

sergej ★★★★★
()
Ответ на: комментарий от sergej

имхо получишь ещё больше, но в другом месте.

В каком? Пока у rpm сплошные минусы. rpm-build — это вообще хтоническая срань. Хуже этого только сборка пакетов у дебиана, из-за которой вон уже мейнтейнеры бегут из дистра.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от commagray

К сожалению, докер — полная дрянь, но большинство альтернатив ещё хуже.

У меня была мысль использовать Nix, но в нашу инфраструктуру его встроить будет весьма непросто. Докер здесь выигрывает.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Из личного опыта вынес четыре подхода: пакеты, устанавливаемые системным менеджером пакетов (rpm/deb); эрланговые релизы; докер; тарболл с прилагой, который раскатывается в ~/app, при этом используется системный эрланг/epmd.

leave ★★★★★
()

собирайте отдельно докер образ с эрлангом, поверх него делайте второй с вашей софтиной. другие варианты не такие удобные

loki_ ★★
()
Ответ на: комментарий от hateyoufeel

Вот релизнется ...

Апдейтов бояться - софт не писать. Совсем как банковский кредит — берешь и потом тратишься на сопровождение, пока не умрёт.

DonkeyHot ★★★★★
()
Ответ на: комментарий от loki_

Какой смысл в отдельном образе с энларгом? Разве у BEAM между релизами гарантируется бинарная совместимость?

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Ну да, я из-за rpmbuild свалил на арч в 2006м. Но я бы не ожидал от других решений чего-то сильно лучшего.

sergej ★★★★★
()

энларге

гомосексуальным

И тут пришёл поручик...

hobbit ★★★★★
()
Ответ на: комментарий от hateyoufeel

так же стоит поступить

«Стоит» - категория арифметическая. Некоторым людям кредиты выгодны, некоторым - нет, и, думается, разница не в кредитах.

DonkeyHot ★★★★★
()

да, нормуль.

Админы непонятно чего лезут в бутылку. Если хотят докер, то пусть берут твой rpm и ставят его в свой докер.

Можно конечно отказаться от rpm и сменить на deb, но это чаще всего бывает завязано на эмоциональную привязанность команды. Мы, например, предпочитаем deb.

max_lapshin ★★★★★
()

Админы напирают на Docker, но я слегка сомневаюсь.

А какие у них доказательства^Wаргументы?

urxvt ★★★★★
()
Ответ на: комментарий от hateyoufeel

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

loki_ ★★
()

У нас заворачиваются в deb пакеты, но там исходники, сборка происходит при развёртке на целевой машине

anonymous
()
Ответ на: комментарий от urxvt

javascript для чего?

Если модуль вебовский, то там будут куски javascript или шаблоны html, все они при сборке тупо идут в priv директорию соответствующей зависимости.

Сборку делает модифицированный rebar из шаблонного Makefile, postinst написан на обычном bash с вызовами стандартных awk, sed, make, зачем тебе javascript?

anonymous
()
Ответ на: комментарий от anonymous

Я имел ввиду что у вас так разворачивается приложение на JS. Просто встречал такие предложения от JS-разрабов: а давайте мы на проде sudo npm install и запустим.

urxvt ★★★★★
()
Ответ на: комментарий от urxvt

А какие у них доказательства^Wаргументы?

Отсутствие геморроя с конфликтами зависимостей как минимум.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от max_lapshin

Админы непонятно чего лезут в бутылку. Если хотят докер, то пусть берут твой rpm и ставят его в свой докер.

Тогда нахрен нужен rpm, если докер умеет версионирование?

Можно конечно отказаться от rpm и сменить на deb, но это чаще всего бывает завязано на эмоциональную привязанность команды. Мы, например, предпочитаем deb.

Deb как формат пакетов ещё хуже.

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

ну если админы напирают и желают, так напряги их на демонстрацию. тогда и будет видно, удобно ли это, выдерживает ли это обновление beam, удобно ли это в разработке?
у нас специально на докер не переползали, но в процессе ci-cd на серверах он появился и снял вопросы с деплоем. но у нас jar'ки и всё просто.

SevikL ★★★★★
()
Ответ на: комментарий от hateyoufeel

deb собирается штатными линуксовыми утилитами и имеет внутри понятную человеческую структуру.

rpm как формат — самое худшее, что есть на планете. Это я говорю как один из тех, наверное, 10 людей на планете, кто писал бинарный парсер/упаковщик формата rpm пакета.

Мне сложно подобрать эпитеты для того безумия, которое охватило людей, придумывавших rpm, но это действительно страшно.

Чего там хорошего в операционках, которые им пользуются, я не знаю.

max_lapshin ★★★★★
()
Ответ на: комментарий от max_lapshin

deb собирается штатными линуксовыми утилитами и имеет внутри понятную человеческую структуру.
rpm как формат — самое худшее, что есть на планете

Как пользователю, мне наплевать. Собирать deb с помощью tar и ar всё равно никто не будет. Утилиты для сборки deb ни разу не лучше, чем rpmbuild.

Это я говорю как один из тех, наверное, 10 людей на планете, кто писал бинарный парсер/упаковщик формата rpm пакета.

Крайне сомнительный повод для гордости.

hateyoufeel ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.