- 假设所有配置保持不变(构建和启动相同)
- 为了加快构建过程,我希望在专用的打包服务器上构建镜像并将其上传到 Harbor,然后在构建前下载它以减少编译时间
- 请问是否有相关的教程可以这样实现?或者它可以独立实现但没有官方支持,需要自行探索?
我认为 Discourse 团队为他们的托管产品做了类似的事情,这样您就可以在几分钟内与他们一起启动您的论坛(如果用户必须等待所有东西安装完成,那将非常低效,对吧?)。不过,我认为没有关于此的 #documentation。
我不知道有任何指南,但基本上,您需要进行引导(bootstrap),将该镜像推送到您的仓库,然后使用 ./launcher start-cmd 来获取启动容器所需的 ENV。
在某个时候,您需要迁移数据库(如果您想要零停机部署,您需要了解 SKIP_POST_DEPLOYMENT_MIGRATIONS 以便在旧容器运行时迁移数据库,并在容器启动后运行 rake db:ensure_post_migrations db:migrate)。您还需要预编译资源,如果您使用 S3,则需要将它们推送到 S3。
这至少是 Discourse 特定的部分。如果您需要更多帮助并且有预算,我很乐意为您服务。
2 个赞