Есть ли способ автоматизировать установку новых выпусков на GitHub Server?
Итак, задача, которую я пытаюсь выполнить, заключается в следующем. Я являюсь частью команды, которая управляет GitHub-сервером для большой компании. Мой начальник попросил меня провести некоторое исследование и выяснить, есть ли способ автоматизировать установку новых выпусков GitHub Enterprise.
Мне известно, что приложение Enterprise может проверять и загружать новые выпуски.
Я хочу знать, есть ли способ, какой-то сценарий или что-то еще, что позволит моей команде не запускать установку новых выпусков вручную.
1 ответ
Обновление 21, июнь 2016
На основе новой функции, недавно добавленной в Github Enterprise. Я обновляю этот ответ на случай, если он поможет другим людям в будущем
Примечания к выпуску Github Enterprise 2.6.4
- Обновления без запроса теперь можно выполнить, передав аргумент -y в ghe -upgrade
Таким образом, вам больше не нужно имитировать пользовательский ввод. Я добавил это к ответу ниже
Не уверен, что есть существующий скрипт, но вы можете просто создать свой собственный
- Бежать
ghe-update-check
на сервере - Разобрать результат из
/var/lib/ghe-updates/ghe-update-check.status
- После этого вы в основном выполняете сценарии, упомянутые в документации по обновлению.
- Добавьте проверки, если вы просто хотите, чтобы второстепенные выпуски обновлялись автоматически
- Если обновление существует, просто скачайте его
curl -L -O https://github-enterprise.s3.amazonaws.com/ami/updates/<package-name>.pkg
- Хорошая идея - включить режим обслуживания перед началом обновления.
ghe-maintenance -s
- Бежать
ghe-upgrade -y <package-name>.pkg
(Опция -y - это обновление без подсказок. Однако доступно только в более новых версиях 2.6.4+) - После перезагрузки после обновления отключите режим обслуживания
ghe-maintenance -u
- Поместите весь скрипт в задание cron, чтобы проверять обновления так часто, как вы хотите