Docker Cloud WordPress堆栈工作stream优化

我正在开发一个使用npm和composer作为依赖pipe理的Sage主题(v9 – master)的Wordpress。 我试图实现一个堆栈,我可以简单地在本地运行并运行,并具有与我的生产Docker Cloud相同的环境(我不会涵盖docker-compose部分,只有Docker Cloud部分)

我目前在Docker Cloud上运行一个堆栈,如下所示:

  • WordPress服务与自定义图像(build立在我的云节点),从Wordpress构build,我添加我的主题/wp-content/themes/theme-name和我的插件在/wp-content/plugins
  • MYSQL服务与共享卷进行持久化
  • 自定义节点映像(构build在云中的节点上)的节点服务,简单地将WORKDIR设置为/var/www/html/wp-content/themes/theme-name ,并将栈参数设置为运行npm i && npm build:production的COMMAND。 npm i && npm build:production
  • 自定义Composer图像(构build在云中的节点上)的Composer服务,它简单地将WORKDIR设置为/var/www/html/wp-content/themes/theme-name并作为一个堆栈参数运行composer install的COMMAND

所有这一切正常工作,但是我希望当我推动改变,我的资产得到重新编译(npm运行webpack创builddist文件夹)。 截至目前,当我推动改变我的github,3自定义图像得到重build和自动重新部署到云和npm运行命令的作品,但我没有新的来源(我推到Github)在我的重新部署的WordPress的包含主题文件和资源),所以它重build相同的旧来源…所以我不得不重新部署在云上的新容器,以获得新的来源和webpack它,但是每次重新部署(或每隔1分钟30停机时间推…)。

我想简单地将我的更改推送到回购站,并使用webpack自动在我的Docker Cloud堆栈上构build源代码。

有没有更有效的方式来实现我目前的工作?

注意:我尝试的第一件事是在我的Wordpress图像中安装composer / node,并在图像构build中运行,以便依赖项安装在图像构build上,并在运行时可用,但是命令(composer php安装或npm i)但是它们的输出(/ vendor和/ node_modules)从来不存在于映像中,但是安装的结果被caching了,因为如果我将SSH连接到一个容器并自己运行命令,它将简单地从caching中创build/ vendor文件夹下载。 但是,当我在Dockerfile中运行相同的composer php安装/供应商是不存在的内置映像,我尝试了3-4个小时才能使它工作,不能…