启动器引导/运行可重复吗?

我的问题是:

如果我在修订版 A 下检出 discourse_docker,在时间 T1 运行 launcher bootstrap web_only 后接着运行 launcher run web_only,然后在时间 T2 再次运行完全相同的命令,我是否会在 T2 获得与 T1 完全相同的运行软件?

也就是说,discourse_docker 的提交 ID 加上 yaml 文件中的任何状态,是否构成了构建运行工件的完整状态?

我怀疑答案是否定的,因为我似乎在构建和启动过程中看到 Discourse 从 git 远程仓库拉取内容,但我还是想向社区确认一下。

提前感谢。

It depends on what branch you are pulling. If it’s tests-passed, then you are likely to get a different version at every rebuild /bootstrap. You could or either a beta version or a commit id there to see that things stay the same.

If you want paid support to get your larger problem solved and have a budget, my contact info is in my profile.

thanks @pfaffman . Quick clarification. By branch do you mean the branch of discourse_docker or is there another setting that can lock the main discourse to a certain branch? Just to be clear, in my example, I am not deliberately pulling new code for either discourse_docker or discourse . I’m getting the feeling that discourse_docker does either one, or both behind the scenes. Ideally I would want to disable this behaviour so I can get a repeatable build. Is this possible?

Launcher will pull the version of Discourse specified by the params: version: key in web_only.yml. As described in that file, the default is tests-passed.

In addition, plugins will normally update unless you pin a version in their git clone.

Ok thanks @schleifer . I’ll take a look at that setting.