【问题标题】:Is there a way to automate installing new releases on a GitHub Server有没有办法在 GitHub 服务器上自动安装新版本
【发布时间】:2016-04-28 14:17:45
【问题描述】:

好的,我要完成的任务就是这个。我是为一家大公司管理 github 服务器的团队的一员。我的老板让我做一些研究,看看是否有办法自动安装新版本的 GitHub Enterprise。

我知道企业应用程序可以检查和下载新版本。

我想知道的是,是否有一种方法、某种脚本或其他任何东西,可以让我的团队不必手动运行新版本的安装。

【问题讨论】:

  • 您多久安装一次这些版本?
  • 我们的想法是一旦发布就自动安装它
  • 是的,应该可以。这将取决于您如何设置服务器 - 例如。高可用性和备份。

标签: git github github-enterprise


【解决方案1】:

2016 年 6 月 21 日更新

基于最近添加到 Github Enterprise 的一项新功能。我正在更新这个答案,以防将来对其他人有所帮助

Github Enterprise 2.6.4 发行说明提及

  • 现在可以通过将 -y 参数传递给 ghe-upgrade 来执行无提示升级

所以基本上你不再需要模拟用户输入了。我已将此添加到下面的答案中


不确定是否有现有脚本,但您可以创建自己的脚本

  • 在服务器上运行ghe-update-check
  • 解析来自/var/lib/ghe-updates/ghe-update-check.status的结果
  • 在此之后,您基本上执行upgrade docs 中提到的脚本
  • 如果您只想自动升级次要版本,请添加检查
  • 如果存在更新,则只需下载它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 作业中,以便根据需要随时检查更新

【讨论】:

  • 这样说听起来很简单。当您必须输入 y 或 n 时,响应部分呢?
  • 嗯,因为 ghe-upgrade 没有静默模式,您可能必须使用它来模拟用户输入,这似乎很简单 stackoverflow.com/questions/14670716/…
猜你喜欢
  • 2014-01-15
  • 2022-11-10
  • 2017-03-22
  • 1970-01-01
  • 2010-09-21
  • 1970-01-01
  • 2016-11-11
  • 1970-01-01
  • 2010-12-20
相关资源
最近更新 更多