Рейтинг:0

Лучший способ обновить бинарный файл?

флаг mp

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

Для обновления программа сама будет проверять репозиторий GitHub на наличие новой версии каждые 5 минут, если есть новая версия, она загружает ее, перезаписывая старую, а затем запускает команду systemctl перезапустить фунт.

Теперь мой вопрос: является ли это плохой практикой, есть ли какие-либо недостатки в этом, и есть ли лучшая практика для обновления, кроме этой?

--

Просто примечание: запуск cronjob не идеален.

Рейтинг:0
флаг cm

Рекомендуемый подход — создать пакет ОС (.deb/.rpm/и т. д.) и предложить его менеджеру пакетов.

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

В пакете должны быть необходимые команды для перезапуска службы.

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

Вы можете настроить свою систему так, чтобы она отвечала на HTTP-запрос, который вызывается с помощью действий Github (веб-перехватчик) после загрузки в репозиторий пакетов, таким образом переключаясь с подхода опроса на основе запроса на подход на основе push, который срабатывает только при обновлении git. репозиторий.

Ответить или комментировать

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