LINUX.ORG.RU

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

 ,


0

2

Привет, ЛОР.

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

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

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

Harald ★★★★★ ()

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

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

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

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

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

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

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

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

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

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

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

плюсую.

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

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

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

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

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

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

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

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

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

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

leave ★★★★★ ()

да, нормуль.

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

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

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

javascript для чего?

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

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

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

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

urxvt ★★★★★ ()
Ответ на: комментарий от 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 ★★★★★ ()