我有几个客户端应用程序。对于每一个,我都有一个构建管道,该管道可以获取最新代码,对其进行编译,然后将结果绘制到dist
文件夹(仅包含html和js文件)中。
这些dist
文件夹已使用docker volume同步到实际托管客户端应用程序的Web服务器(nginx
)容器。
结果是我的客户端始终处于“启动”状态,我只需要更新任何客户端的dist
文件夹即可部署它,而无需与Web服务器容器打交道。
但是,我想将部署转移到另一种方法,即仅在管道上构建docker映像(代码更改),并在部署环境时按需使用它们。
问题在于如何构建Web服务器容器,而我不想对任何更改重建所有客户端,也不想将生成的输出存储在源代码管理中。最好的方法是什么?
答案 0 :(得分:1)
您可以考虑使用multi-stage build:
最终结果是同时包含Web服务器和静态文件(而不是这些文件在卷中)的图像,而仅重建了静态文件。