我 fork 了 GitHub 上的 Discourse 仓库。如何将其替换为我的网站上现有的 Discourse 安装?我尝试了所有方法,但每次都遇到错误。我将自己的 Discourse 仓库从 GitHub 添加到了 app.yml 文件中,但由于错误而无法继续。即使我设法进行了更改,它也总是重新安装原始的 Discourse。如何正确执行此过程?
具体说明会有帮助。
重新检查后,我对正在分析的话语进行了修改,并注意到此更改在管理员面板的更新页面中可见。我现在正在更新它;如果调整正常工作,我将相应地修改此消息。
这是我 app.yml 文件中的设置,我已经重建,没有遇到任何错误。但是,在后续检查后,我所做的修改不可见,尽管 Discourse 仍然运行良好。
run:
- exec: echo "Beginning of custom commands"
## If you want to set the 'From' email address for your first registration, uncomment and change:
## After getting the first signup email, re-comment the line. It only needs to run once.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec:
cd: /var/www/discourse
cmd:
- sudo -u discourse git remote set-url origin https://github.com/KilicSelcuk/discourse.git
- sudo -u discourse git fetch origin
- sudo -u discourse git checkout origin/main
- sudo -u discourse git remote set-branches --add origin main
- sudo -u discourse git remote set-branches origin tests-passed
- sudo -u discourse git reset --hard origin/main
- exec: echo "End of custom commands"
那么,当您查看源代码并查看大约第 6 行时,版本字符串中的提交哈希是否与您分叉的存储库中的最新提交相对应?
我认为我已经完成了任务,但它似乎无效。管理员更新页面上可见的最新更新是:https://github.com/KilicSelcuk/discourse/commit/e44347414a8325ec25e5892c35bcd889d39a6668。
然而,我所做的实际修改反映在这里:History for 。 - KilicSelcuk/discourse · GitHub
本质上,我所做的更改在更新页面上是不可见的。此外,当我执行重建时,它不会包含我存储库的更新。如果更改已应用,它们将是可见的。
我最新的配置如下:
## 任何在构建后运行的自定义命令
run:
- exec: echo "Beginning of custom commands"
## 要设置您的初始注册的“发件人”电子邮件地址,请取消注释并修改:
## 收到第一封注册电子邮件后,请重新注释该行。它只需要运行一次。
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec:
cd: /var/www/discourse
cmd:
- sudo -u discourse git remote set-url origin https://github.com/KilicSelcuk/discourse.git
- sudo -u discourse git fetch origin
- sudo -u discourse git checkout origin/main
- sudo -u discourse git remote set-branches --add origin main
# - sudo -u discourse git remote set-branches origin tests-passed
# - sudo -u discourse git branch -u origin/main
- sudo -u discourse git reset --hard origin/main
解决这个问题将是有益的。我在论坛上找不到有用的资源,但它可能会为后续的人提供指导参考。
这通常是个坏主意。你应该在插件中进行更改。
确实,我最初是这样做的,但一旦插件集成到核心中,我就无法修改它了。不幸的是,建议的解决方案也无效:Overriding user_guardian.rb in a plugin (no fork necessary!) - #24
如果您fork了一个插件,那么您应该删除包含的插件并克隆您的版本。
我认为我在另一个主题中告诉过您。您绝对应该只fork插件,而不是整个应用程序和所有其他插件。
每当我尝试安装插件时,我都会遇到一个错误。如果我有更多时间,我会再试一次:Overriding user_guardian.rb in a plugin (no fork necessary!) - #24
这就是解决您问题的方法。如果您遇到错误并需要帮助,您应该确切说明错误是什么,并包含您的 yml 文件的插件部分以及指向您分叉的插件的链接。
我很遗憾,我正在努力解决这个问题;我也分享了这个问题中的错误,但我还没有找到解决方案。Overriding user_guardian.rb in a plugin (no fork necessary!) - #24
我正在进行此配置,您认为我是否犯了错误?Discourse 更新显示有更改,但显示的是我本地存储库中的更改,而不是 Discourse 中的更改。我正在更新,但没有任何变化;更新仍然显示。 (我认为它识别了我的修改,但当我更新时,它会从主存储库中提取):
## 任何可在构建后运行的自定义命令
run:
- exec: echo "开始自定义命令"
## 如果您想设置第一次注册的“发件人”电子邮件地址,请取消注释并进行更改:
## 在收到第一封注册电子邮件后,重新注释该行。它只需要运行一次。
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec:
cd: /var/www/discourse
cmd:
- sudo -u discourse git remote set-url origin https://github.com/KilicSelcuk/discourse.git
- sudo -u discourse git fetch --tags --prune-tags --prune --force origin
- sudo -u discourse git checkout origin/main
- sudo -u discourse git remote set-branches --add origin main
- sudo -u discourse git remote set-branches origin tests-passed
# - sudo -u discourse git branch -u origin
- sudo -u discourse git reset --hard origin/main
- exec: echo "自定义命令结束"
是的。我告诉过您如何仅包含您分叉的插件,而您没有这样做。
确实,我已经完成了这项任务:Overriding user_guardian.rb in a plugin (no fork necessary!) - #24
第二种方法导致网站无法访问。我正在探索其他解决方案以寻求解决,但进展有限,促使我考虑其他途径。
由于我不想进行大量修改,我考虑过分叉 Discourse。我每次都会简单地用主存储库的最新更改更新我的分叉,然后重新应用我所做的修改,接受这种方法。
我的主要挑战在于找到一个有效且正确的解决方案。我愿意删除并重写代码,尝试新的方法。然而,面对不确定的错误,我无法得出明确的解决方案。
谢谢
这是一份全职工作。几年前做这件事的人们至今仍在后悔,而且那时事情的进展要慢得多。
我已经这样做了,但仍然出现错误。感谢您的帮助,但我之前已经提到过两三次了 :/\n\n[quote=“pfaffman, post:16, topic:380046”]\n这是一项全职工作。几年前承担这项任务的人仍然后悔,而且当时的进展要慢得多。\n[/quote]\n\n你说得对,但我该如何在我的插件中保留核心插件的更新?我是否应该复制核心文件并将其上传到我的存储库?或者有没有办法自动化这个过程?\n\n谢谢
您没有分享您尝试仅使用 fork 插件时出了什么问题。
我再次尝试并包含了这次遇到的错误的详细信息(几乎全部)。您能帮我看一下吗:Overriding user_guardian.rb in a plugin (no fork necessary!) - #24
@kuaza 我已将此主题标记为 unsupported-install 并将关闭它。如果您将来想在此处获得帮助,请遵循官方安装说明。祝您好运!
上面有 @pfaffman 和 @merefield 提供的一些宝石,希望您能用它们来帮助您了解如何使用 Discourse。