尝试理解 GitHub 仓库的 discourse 和 discourse_docker

在制定关于我们网站自托管的标准操作程序(SOP)时,我正试图向 鸭子 :duck: 解释 GitHub 仓库 discoursediscourse_docker 之间的区别。

以下是三点 姑且这么说 的证据:


首次 安装 Discourse 时,使用的是 discourse_docker 仓库。

groot@galaxy:~$ git clone https://github.com/discourse/discourse_docker.git /var/discourse

现在,在阅读这里的 帖子 时注意到,客户所在的分支是 tests-passed。在检查 discourse_docker 仓库时发现,tests-passed 分支 不存在;但在检查 discourse 仓库时,tests-passed 分支 存在


关于 discourse_docker 中的 tests-passed,在 samples 目录下的文件 standalone.yml可以找到;而在 discourse_docker 中,类似的站点设置文件(如 app.yml)里却 找不到 tests-passed


如果运行 launcher rebuild app启用 bash 追踪,例如:

groot@galaxy:/var/discourse$ sudo bash -x launcher rebuild app

将会记录:

I, [2020-06-07T23:49:27.550542 #1]  INFO -- : > cd /var/www/discourse && git pull
From https://github.com/discourse/discourse

有人能解释一下这一切,让这只鸭子 :duck: 也能理解吗?

Discourse_docker 用于构建运行 Discourse 的 Docker 容器。它会下载 Discourse。你可以在 Discourse Docker 使用的 app.yml 文件中设置 Discourse 的分支(甚至是特定提交),以便在构建新容器时下载对应版本的 Discourse。

discourse_docker 仓库由管理员在服务器上克隆,用于运行 Docker 容器。

discourse 仓库由脚本在 Docker 容器内部克隆,用于运行 Discourse 应用程序。