mreach
(M. Reacher)
1
我有一个长期存在的 Discourse 安装问题,它一直停留在 v2.9.0.beta1 版本——由于个人原因,我多年来一直无法解决。当时,似乎不可能升级到 v2.9.0.beta2。最近,在排查一个重建问题时,我注释掉了 app.yml 中的某些钩子(特别是那些强制进行标签签出的钩子),如下所示:
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- exec:
cd: $home
cmd:
# - git fetch --depth=1 origin tag v2.9.0.beta2 --no-tags
# - git checkout v2.9.0.beta2
- echo "Skipping version upgrade hook"
重建后,我的实例意外更新到了 3.4.0.beta4-dev。虽然我很高兴解决了这个问题,但现在我希望系统能够继续遵循 3.4.0 beta 流,直到有稳定的 3.4.x 版本可用——一旦可用,就将其锁定到该稳定版本,这样它就不会自动升级到进一步的 beta 或开发版本。
一旦稳定版本可用,是否有正确的方法将其“固定”或锁定到稳定版本,而无需在每次重建时进行回滚或手动干预?
任何指导或最佳实践都将不胜感激!
pfaffman
(Jay Pfaffman)
3
将 tests-passed 改为 stable 在你的 app.yml 中。如果你的 yml 文件中没有这个,你可以查看 samples 目录。
1 个赞
mreach
(M. Reacher)
4
好的,所以我有:
## Which Git revision should this container use? (default: tests-passed)
#version: tests-passed
我已将其更新为:
## Which Git revision should this container use? (default: tests-passed)
version: stable
重建后,系统现在是:3.5.0.beta1-dev
这似乎更奇怪/特别了。 
pfaffman
(Jay Pfaffman)
5
看起来你在重建后将版本改为了稳定版。你现在已经超越了稳定版,所以你需要将其更改为 beta 或 tests-passed,直到下一个稳定版发布(而且因为上周已经发布了一个,所以还需要相当长的时间(通常是 8-10 个月))。
1 个赞
mreach
(M. Reacher)
6
不,很遗憾我没有……我对此100%确定,它是在3.4.0.beta4-dev上,然后我更改了app.yml,然后进行了重建。之后就出现了3.5.0.beta1-dev。这就是100%遵循的路径……为了说清楚,我对此毫无疑问。在执行我所记录的操作之前,我确实验证了这些事情。
pfaffman
(Jay Pfaffman)
7
带有 tests-passed 的那一行是否以 # 开头?
pfaffman
(Jay Pfaffman)
9
它被注释掉了,所以你放什么并不重要,默认是测试通过。
当你重建以重建到最新的测试通过时
mreach
(M. Reacher)
10
再次感谢您的帮助 @pfaffman。总结一下我目前的理解:
- 我们的实例运行的是 3.4.0.beta4-dev,这不被认为是稳定版本。
- 当我将配置更新为使用
version: stable(默认值已注释掉)时,我期望未来的重建会将实例锁定在稳定分支。但是,因为我们已经在使用测试版,所以更新继续进行——结果是 3.5.0.beta1-dev。
- 似乎在已经超过稳定标签后切换到
version: stable 不会触发回滚;它只是意味着如果我们处于稳定版本或低于稳定版本,它会将我们固定在稳定版本而不是跟踪测试版。
这是正确的吗?
此外,您能否澄清一下推荐的流程是什么,以确保将来我们不会意外地跟随测试版频道?具体来说:
- 将
version: stable 作为活动配置就足以确保,当有稳定版本可用时,我们的重建将锁定在该版本中——前提是我们到达稳定版本时还没有超过它?
- 是否有任何额外的步骤或清理任务(例如删除或修改任何其他配置元素)是我们应该执行的,以避免无意中更新到测试版/开发版本?
我非常希望尽快锁定到一个稳定版本,但不想再次出现这种情况……
pfaffman
(Jay Pfaffman)
12
哎呀!也许我用手机看太快了。我无法解释我怎么会错过那个,也无法解释该网站现在怎么运行的是 3.5.0.beta1-dev。
2 个赞
jmbeuken
(Jean-Michel Beuken)
13
您好,
在经历了与从 postgres 13 迁移到 15 相关的 3.4.0.beta4-dev 更新的挫折后,我设法恢复了一个可用的 3.5.0.beta1-dev 版本!
现在,在仪表板中,有一个新版本:
已安装 最新
3.5.0.beta1-dev 3.5.0.beta1
(b37b51d15f)
但在“更新”页面,我们看到:
名称 提交哈希 上次更新时间 最新版本 状态
新版本可用! v3.4.0.beta4 +182 43 分钟前 v3.5.0.beta1 +8 更新
现在更新安全吗?
提前感谢您。
1 个赞