170 похожих чатов

Ребят, а кто как деплоит приложеньки с гитлаба? Хочу пример

с ансиблом найти..

29 ответов

23 просмотра

А как у тебя приложение в прод должно поставляться?

Yury- Автор вопроса
Alexey Shumkin
А как у тебя приложение в прод должно поставляться...

Без докера. Склонировать, собрать, остановить старое, скопировать бинарь, запустить. Все выглядит так, как ансибл, но пока не получается найти подробно как из гитлаб ci запустить плейбук

Можно без ансибла через докер https://habr.com/ru/post/449952/

Yury- Автор вопроса
Andrew ᛉ
Можно без ансибла через докер https://habr.com/ru/...

Надо без докера, но статейку не видел, может чего почерпну,спасибо)

Yury
Без докера. Склонировать, собрать, остановить стар...

раз без докера, тогда лучше тогда RPM/DEB-пакет собирать

Yury
а разница?

спроси у админов ))))) они тебе расскажут

Вот пример с деплоем по SSH без докера и ансибла. https://golangforall.com/ru/post/go-build-and-deploy-ssh-gitlab.html

Yury
а разница?

Собрать RPM (или deb) - это не сложно. Плюсом имеешь быстрое обновление, плюс историю, в которой можешь всегда сделать rollback на нужный шаг.

Yury
а разница?

но отвечая на вопрос: ты можешь поставить, удалить, обновить, задаунгрейдить/откатить приложение средствами ОС банально узнать какая его версия стоит - тоже в пакете (нормального приложения) есть дока, релиз-ноутс ,etc при установке, обновлении, откате выполнить определённые действия в ОС - тоже... и т.п.

Alexey Shumkin
но отвечая на вопрос: ты можешь поставить, удалить...

+ инфа о том, где оно установлено какие файлы использует (необходимы для работы) не изменено ли оно с момента установки.. на эти вопросы легко получить ответ админу без обращения к разработчику

Elmanov Anton
Вот пример с деплоем по SSH без докера и ансибла. ...

вот это — ssh -p$SSH_PORT $SSH_USER@$SSH_HOST 'sudo service project stop && cp ~/binary_tmp /var/www/project/binary && sudo service project restart' прям доставляет у меня первый вопрос, откуда на хосте, например, изначально взялся project.service (т.е. /etc/systemd/system/project.service`) файл?

Yury- Автор вопроса
Alexey Shumkin
+ инфа о том, где оно установлено какие файлы испо...

тогда по хорошему надо ещё репу поднимать, верно?

Yury
тогда по хорошему надо ещё репу поднимать, верно?

ну, это прям совсем по хорошему, да приложение собирается и релизится в репу (или в артифактори/нексус) и ансиблом(если ансибл) уже деплоится из репы на все хосты (мы же помним, что на проде у нас может быть не один инстанс)

Alexey Shumkin
вот это — ssh -p$SSH_PORT $SSH_USER@$SSH_HOST...

есть некоторая предварительная работа на хосте - там должен появиться systemd (что дефолтно для многих систем, собственно он и использован потому как дефолтный, иначе можно было бы еще в supervisord закопаться). ну и надо создать деплой юзера с sudo правами на перезапуск сервиса.

Alexey Shumkin
вот это — ssh -p$SSH_PORT $SSH_USER@$SSH_HOST...

"прям доставляет" деплой без виртуализации вообще я бы сказал - мне кажется, это огромная редкость и потому там кругом кастомные операции, зависящие от системы. И тот же ансибл у каждого свой. Если на хосте больше 500 мб оперативы - то я бы все же рекомендовал докер. Небольшой оверхед на его работу, но зато все сразу встает на рельсы.

Elmanov Anton
есть некоторая предварительная работа на хосте - т...

не, про системд всё понятно.. я про файл с описанием сервиса... т.е. с нуля (первый раз) приложение этим скриптом не поставишь.. это - хрень, как по мне )) вредный совет от автора

Yury- Автор вопроса
Alexey Shumkin
не, про системд всё понятно.. я про файл с описани...

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

Elmanov Anton
"прям доставляет" деплой без виртуализации вообще ...

про докер соглашусь про "огромная редкость" - сомневаюсь, что прям редкость... к тому же мы говорим про Го, который "один бинарник", ему докер как бы не очень прям сильно нужен

Yury- Автор вопроса
Elmanov Anton
"прям доставляет" деплой без виртуализации вообще ...

у меня lxc контейнеры под проксмоксом, докер в виртуалке поднимать спецом не хочется

Yury
у меня мейкфайлом системд сервис создается

нуу.. это не значит, что это best practice

Yury- Автор вопроса
Alexey Shumkin
нуу.. это не значит, что это best practice

согласен, но рпм/деб пакеты также делают)

Yury
согласен, но рпм/деб пакеты также делают)

они это делают стандартным всем админам понятным способом

Alexey Shumkin
про докер соглашусь про "огромная редкость" - сомн...

с одним бинарником как раз удобство в деплое образов FROM scratch, вес которых равен весу бинарника, только есть инфраструктура докера для деплоя

Elmanov Anton
с одним бинарником как раз удобство в деплое образ...

да я не против докера )) я к тому, что не у всех есть докеры/куберы, и приложение на Го вполне себе счастливо может жить без проблем с зависимостями в ОС

Yury
у меня lxc контейнеры под проксмоксом, докер в вир...

Тогда, я бы предпочел выстроить систему деплоя и найти ansible роли (или как оно там называлось), которые по сути сделают тот же деплой. С deb я видел в реализации отдельного деб-репозитория - может потребоваться время. Про плюсы в виде различных версий - не то, чтобы был солюшн решаем только deb-пакетами. При обычном деплое по SSH, можно делать папки с новой версией, старые оставлять (например, 10 последних) и менять только симлинк.

Yury- Автор вопроса
Elmanov Anton
Тогда, я бы предпочел выстроить систему деплоя и н...

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

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
как быть с принтером? такой подход прокатит?
zamtmn
12
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Карта сайта