检出插件的特定版本?

在 app.yml 中是否有办法让 rebuild 检出插件的特定版本?

我正在一个比 master 更旧的分支上工作。当我运行 ./launcher rebuild app 时,它会拉取一个我无法控制的插件的最新版本。该插件的最新版本与旧版本的 Discourse 不兼容,导致我的测试环境构建失败。

理想情况下,我希望在 app.yml 中与其他插件一起实现类似以下的内容:

- git clone https:/github.com/path/to/plugin.git?commit=ec64234359282

我也欢迎其他替代方案。只需要 Discourse 能使用该版本的插件进行构建即可。

您可以使用标准的 git 选项来实现,例如 -b 标志。

3 个赞

不幸的是,该插件没有为我所需的版本提供具名分支。我正尝试从 master 分支拉取特定的修订版(提交哈希)。看起来 -b 选项似乎不支持提交哈希。

在命令行中,我可以先执行 git clone,然后使用 git checkout 来获取所需内容。请问是否有一种方法可以在 app.yml 中实现这一操作?

好的,@Falco 的解决方案奏效了,但我不得不绕了点弯路。

  1. 我 fork 了原始仓库
  2. 在本地开发机器上克隆了它
  3. 从目标提交创建了我的分支
    • git branch foo ec64ae8
  4. 将该分支推送到我的 GitHub
    • git push -u origin foo
  5. 更新了 app.yml,使用
    • git clone -b foo git@github.com:my-repo.git

感觉应该有更简单的方法,但这确实解决了问题。感谢 @Falco 的指引!

4 个赞

是的,我正在测试新的插件,特别是聊天插件,并注意到它似乎在我的网站上损坏了,我想知道如何回滚到以前安装的版本,甚至手动输入我想要的提交版本。

我想象着在未来的升级仪表板中可以看到这个功能,就像升级的“撤销”按钮一样,但现在,我希望至少有一种比你目前为解决此问题所做的更粗暴的方法。

1 个赞