Есть ли способ автоматизировать установку новых выпусков на 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, чтобы проверять обновления так часто, как вы хотите
Другие вопросы по тегам