将独立客户端构建输出同步到一个Docker Web服务器构建

时间:2018-12-25 19:28:29

标签: docker kubernetes webserver docker-build

我有几个客户端应用程序。对于每一个,我都有一个构建管道,该管道可以获取最新代码,对其进行编译,然后将结果绘制到dist文件夹(仅包含html和js文件)中。

这些dist文件夹已使用docker volume同步到实际托管客户端应用程序的Web服务器(nginx)容器。

结果是我的客户端始终处于“启动”状态,我只需要更新任何客户端的dist文件夹即可部署它,而无需与Web服务器容器打交道。

但是,我想将部署转移到另一种方法,即仅在管道上构建docker映像(代码更改),并在部署环境时按需使用它们。

问题在于如何构建Web服务器容器,而我不想对任何更改重建所有客户端,也不想将生成的输出存储在源代码管理中。最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以考虑使用multi-stage build

  • 第一步是构建Web服务器(该服务器永远不会更改,因此会被缓存)
  • 第二阶段是dist文件夹的构建,将第一阶段的Web服务器添加到其中的图像。

最终结果是同时包含Web服务器和静态文件(而不是这些文件在卷中)的图像,而仅重建了静态文件。